So schreiben Sie Bean PropertyChangeListener in Java

Eigenschaftsänderungsereignisse treten immer dann auf, wenn sich die Eigenschaftswerte ändern. Wir gehen davon aus, dass die Komponente der Java Bean-Spezifikation entspricht. Auf die JavaBean-Eigenschaft wird mit den Methoden set oder get zugegriffen. Diese Methoden werden von der Anwendung aufgerufen, um die Werte der Bean festzulegen oder abzurufen. Dies hat keine Logik für die Anwendung.

Java bietet PropertyChangeListener zum Binden der Eigenschaften der Bean an den Ereignis-Listener. Immer wenn eine Eigenschaft aktualisiert wird, wird das Ereignis ausgelöst und die Listener-Methode ausgeführt. Dieses Beispiel zeigt, wie man a schreibt PropertyChangeListener und hängen Sie den Listener an eine Bean an. Immer wenn der Eigenschaftswert geändert wird, wird die Methode aufgerufen. Schauen wir uns das Beispiel an.

  • PropertyChangeListener Schnittstelle erweitert den EventListener
  • Diese Schnittstelle hat nur eine Methode propertyChange(PropertyChangeEvent evt)

BeanPropertyChangeListener.java

package javabeat.net.core;
/**
 * Bean property change listener example
 *
 */
public class BeanPropertyChangeListener {
	public static void main(String() args) {
		Bean bean = new Bean("Default Name","Default City");
		bean.addPropertyChangeListener(new PropertyChangeListenerExample());
		bean.setName("Name 1");
		bean.setCity("City 1");
		bean.setName("Name 2");
		bean.setCity("City 2");
	}

}

Bean.java

package
javabeat.net.core;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;

public class Bean {
 public Bean(String name, String city) {
 this.name = name;
 this.city = city;
 }

 PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
 private String name;
 private String city;

 public String getName() {
 return name;
 }

 public void setName(String name) {
 changeSupport.firePropertyChange("name", this.name, name);
 this.name = name;
 }

 public String getCity() {
 return city;
 }

 public void setCity(String city) {
 changeSupport.firePropertyChange("city", this.city, city);
 this.city = city;
 }

 public void addPropertyChangeListener(PropertyChangeListener listener) {
 changeSupport.addPropertyChangeListener(listener);
 }

}

PropertyChangeListenerExample.java

package
javabeat.net.core;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

public class PropertyChangeListenerExample implements PropertyChangeListener {
 @Override
 public void propertyChange(PropertyChangeEvent evt) {
 System.out.println("Property Name : " + evt.getPropertyName());
 System.out.println("Old Value : " + evt.getOldValue());
 System.out.println("New Value : " + evt.getNewValue());
 }
}

Ausgabe…

Property Name : name
Old Value : Default Name
New Value : Name 1
Property Name : city
Old Value : Default City
New Value : City 1
Property Name : name
Old Value : Name 1
New Value : Name 2
Property Name : city
Old Value : City 1
New Value : City 2

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen