Hi Jacob,
you could use B as a listener class and register it in class A. So whenever the j-value
in A changes, A fires B's event Method doDf().
public interface AListener {
public void doDf(int j);
}
package javaapplication1;
public class B implements AListener {
public void doDf(int j) {
System.out.println(j);
}
}
package javaapplication1;
import java.util.*;
public class A {
private int j;
private List<AListener> alisteners = new Vector<AListener>();
public List<AListener> getAlisteners() {
return alisteners;
}
public void addAlistener(AListener alistener) {
this.alisteners.add(alistener);
}
public int getJ() {
return j;
}
public void setJ(int j) {
this.j = j;
this.fireJChangedEvent();
}
private void fireJChangedEvent() {
for (AListener alistener : this.getAlisteners()) {
alistener.doDf(this.getJ());
}
}
}
package javaapplication1;
public class TestA {
public static void main(
String[] args) {
B b1 = new B();
B b2 = new B();
A a1 = new A();
a1.addAlistener(b1);
a1.addAlistener(b2);
a1.setJ(12);
}
}
Regards