Java Reference
In-Depth Information
Eigenscha übersetzen kann. Entsprechend heißt die Klasse, welche das Ereignis einer
Attributwertänderung repräsentiert, PropertyChangeEvent:
package java.beans;
public class PropertyChangeEvent
extends EventObject implements Serializable
{
public String getPropertyName() {...}
public Object getOldValue() {...}
public Object getNewValue() {...}
...
}
Beobachter (bzw. Ereignisbehandler), welche sich über die Änderung eines Attributwerts
benachrichtigen lassen wollen, müssen die Schnittstelle PropertyChangeListener imple-
mentieren:
package java.beans;
public interface PropertyChangeListener extends EventListener
{
public void propertyChange(PropertyChangeEvent event);
}
Die Klassen der beobachtbaren Objekte (Ereignisquellen) müssen zum einen Methoden
zum An- und Abmelden von PropertyChangeListenern bereitstellen und zum anderen alle
angemeldeten PropertyChangeListener bei der Änderung eines Attributs benachrichtigen.
Man nennt solche Attribute, für die Listener bei einer Änderung benachrichtigt werden,
gebundene Eigenscha en (Bound Properties). Ein Beispiel einer Bean-Klasse, die eine sol-
che gebundene Eigenscha besitzt, fi ndet sich in Listing 8.1.
Listing 8.1 Bean-Klasse mit gebundener Eigenscha
package javacomp.javabeans;
import java.beans.*;
import java.util.ArrayList;
public class BeanWithBoundProperty
{
private String ourString;
private ArrayList<PropertyChangeListener> listeners;
public BeanWithBoundProperty()
{
ourString = "hello";
listeners = new ArrayList<PropertyChangeListener>();
}
public String getOurString()
{
return ourString;
}
public void setOurString(String newString)
 
Search WWH ::




Custom Search