WindowListener

vega_ffm

Grünschnabel
Hi Leute. :)

Ich programmiere zur Zeit erstmalig mit Java und bin auf ein Problem gestoßen, bei dem ihr mir möglichwerweise helfen könnt.

Es handelt sich um folgendes:

Fenster A ruft eine Instanz von Fenster(klasse) B auf. Dabei werden einige Funktionen in Fenster A deaktiviert. Beim Schließen von Fenster B sollen diese Funktionen wieder aktiviert werden.

---

Frage 1) Ich übergebe dem Kontruktor B eine Referenz auf Instanz A, um in B dann Änderungen an A vorzunehmen. Muss dass überhaupt sein, oder kann ich irgendeine interne Methode nutzen, um die Instanz zu idendifizieren, die das Objekt erstellt hat?

---

Frage 2)
Gewünscht ist folgendes:

public void windowClosing(WindowEvent e) {
//Aktiviere die Buttons etc. in Fenster A
Problem: Zugriffsrechte bezüglich Datenkapselung. Ich bekomme den Zugriff auf die Referenz von Fenster A nicht hin. (Möglicherweise muss die als final deklariert werden?)

//Schließe Fenster B, nicht aber Fenster A bzw. nicht das ganze Programm
An dieser Stelle weiß ich noch nicht wie die Instanz von Fenster B heißen wird. Mit welcher Referenz kann ich auf die jeweilige Instanz von B zugreifen? Und wie schließe ich die Instanz, ohne das komplette Programm zu beenden.
}

---

Wie ihr sehr, bin ich ein absoluter Newbie in der Materie und bin VisualBasic "verwöhnt". Sollte ich mich mißverständlich ausgedrück haben, seht mir das bitte nach.

Viele Grüße
vega_ffm
 
Zur zweiten Frage:

Fenster B kannst du schließen, indem du entweder

Code:
fensterB.dispose();
oder
Code:
fensterB.setVisible(false);

aufrufst.

Hast du mal versucht aus Klasse B eine Methode in Klasse A aufzurufen, die die Komponenten in Fenster A deaktiviert?

Code:
// Aufruf zum Deaktivieren der Elemente in Kl. B
referenzAufKlasseA.deaktiviereElemente();

// Methode deaktiviereElemente() in Klasse A
public void deaktivereElemente(){
     element.setEditable(false);
}
 
Zurück