Estoy tratando de averiguar cómo escuchar un cambio de propiedad en otra clase. A continuación se muestra el código:Java PropertyChangeListener Java
ClassWithProperty tiene la propiedad Quiero escuchar: es
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 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;
}
}
he disparado el evento solo la última vez (usersOnline = 10). Soy nuevo en Java e intenté encontrar una solución, pero fue en vano.
Probablemente no relacionada con su pregunta, pero un problema en el código es que se aumenta usersOnline dos veces cada iteración del bucle Use ++ solo una vez. –
Sí, mi error, pero el problema persiste. Gracias;) – Laphroaig
corrigió el error. – Laphroaig