Habe folgendes Problem:
Klasse1 hat ein JTextField dessen Feld immer aktualisiert werden muss wenn in Klasse 2 eine Änderung stattfindet.
Klasse2 übergibt an Klasse1 eine Variable X_Pos an JTextField wenn sich X_Pos ändert.
Dieses Problem lässt sich ja mit Observern lösen.
Ich habe noch nie mit Observern gearbeitet.
Wie müssen beide Klassen aussehen?
Mein Ansatz lautet:
Klasse1:
Klasse2
Aber irgendwie bekomme ich das nicht hin.
Wie sage ich in Klasse 2, dass:
this.addObserver(new OhrenAuf()); sich auf Klasse 1 bezieht?
Danke!
Klasse1 hat ein JTextField dessen Feld immer aktualisiert werden muss wenn in Klasse 2 eine Änderung stattfindet.
Klasse2 übergibt an Klasse1 eine Variable X_Pos an JTextField wenn sich X_Pos ändert.
Dieses Problem lässt sich ja mit Observern lösen.
Ich habe noch nie mit Observern gearbeitet.
Wie müssen beide Klassen aussehen?
Mein Ansatz lautet:
Klasse1:
Java:
public class Klasse1 extends JFrame implements Observer {
private JTextField M1_Abs_Pos;
public Klasse1() {
M1_Abs_Pos = new JTextField("");
add(M1_Abs_Pos);
class OhrenAuf implements Observer{
public void update(Observable o, Object arg) {
M1_Abs_Pos.setText((String) arg);
}
}
}
}
Klasse2
Java:
public class Klasse2 {
public Klasse2() {
class Erzaehler extends Observable {
public Erzaehler(){
this.addObserver(new OhrenAuf());
erzaehl(X_Pos);
}
public void erzaehl(String info){
if(countObservers()>0){
setChanged();
notifyObservers(info);
}
}
}
}
}
Aber irgendwie bekomme ich das nicht hin.
Wie sage ich in Klasse 2, dass:
this.addObserver(new OhrenAuf()); sich auf Klasse 1 bezieht?
Danke!