Java PropertyChangeListener
Estoy tratando de descubrir cómo escuchar un cambio de propiedad en otra clase. Abajo está mi código:
ClassWithProperty tiene la propiedad que quiero escuchar:
public class ClassWithProperty {
private PropertyChangeSupport changes = new PropertyChangeSupport(this);
private int usersOnline;
public int getUsersOnline() {
return usersOnline;
}
public ClassWithProperty() {
usersOnline = 0;
while (usersOnline<10) {
changes.firePropertyChange("usersOnline", usersOnline, usersOnline++);
}
}
public void addPropertyChangeListener(
PropertyChangeListener l) {
changes.addPropertyChangeListener(l);
}
public void removePropertyChangeListener(
PropertyChangeListener l) {
changes.removePropertyChangeListener(l);
}
}
Principal es donde necesito saber sobre el cambio de propiedad:
public class Main {
private static ClassWithProperty test;
public static void main(String[] args) {
test = new ClassWithProperty();
test.addPropertyChangeListener(listen());
}
private static PropertyChangeListener listen() {
System.out.println(test.getUsersOnline());
return null;
}
}
El evento se activó solo la última vez (usersOnline = 10). Soy nuevo en Java e intenté encontrar una solución, pero fue en vano.