Hallo,
ich habe gerade ein kleijnes Projekt für die Uni zu machen.
Als Oberfläche verwende ich Swing.
Situation:
- Ich habe 2 Fenster
- Das erste Fenster wird mittels main() gesetVisibled() ;-)
- Das 2 Fenster ist quasi ein Unterfenster. Gestartet mittels Button des ersten Fenters.
- Das 2. Fenster enthält wieder ein Button ("Abbrechen")
- Wenn ich auf das Abbrechen Button klicke möchte ich, dass das 2. Fenster geschlossen wird, und das erste Fenster wieder aktiviert wird.
Prämissen:
- Wenn das 2. Fenster geöffnet ist soll es nicht möglich sein das erste Fenster anzuwählen, bzw irgendetwas damit zu machen. Gesehen werden kann es natürlich. Ich denke ihr wisst, was ich meine.
Problem:
- Ich habe die Fuktion thisFrame (ist ein JFrame, welches auf this des Fensters zeigt).dispose(); benutzt um das 2. Fenster zu schließen. Das geht aber nicht!
Ich habe in der Klasse des erstens Fensters den ActionListener geschrieben, wenn das 2. Fenster geschlossen wird. Ach seht einfach selbst!
Source:
Fenster 1:
Fenster 2:
Die Methode windowClosing wird nicht aufgerufen, wenn dispose auf dem 2. Fenster ausgeführt wird.
Wo liegt mein Fehler? Wie könnte man das oben beschriebene noch realisieren!
Grüße
dynamicx
ich habe gerade ein kleijnes Projekt für die Uni zu machen.
Als Oberfläche verwende ich Swing.
Situation:
- Ich habe 2 Fenster
- Das erste Fenster wird mittels main() gesetVisibled() ;-)
- Das 2 Fenster ist quasi ein Unterfenster. Gestartet mittels Button des ersten Fenters.
- Das 2. Fenster enthält wieder ein Button ("Abbrechen")
- Wenn ich auf das Abbrechen Button klicke möchte ich, dass das 2. Fenster geschlossen wird, und das erste Fenster wieder aktiviert wird.
Prämissen:
- Wenn das 2. Fenster geöffnet ist soll es nicht möglich sein das erste Fenster anzuwählen, bzw irgendetwas damit zu machen. Gesehen werden kann es natürlich. Ich denke ihr wisst, was ich meine.
Problem:
- Ich habe die Fuktion thisFrame (ist ein JFrame, welches auf this des Fensters zeigt).dispose(); benutzt um das 2. Fenster zu schließen. Das geht aber nicht!
Ich habe in der Klasse des erstens Fensters den ActionListener geschrieben, wenn das 2. Fenster geschlossen wird. Ach seht einfach selbst!
Source:
Fenster 1:
Code:
buNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setEnabled(false);
NeuerKundeGUI neuerkundeGUI = new NeuerKundeGUI(Kunden);
neuerkundeGUI.setVisible(true);
neuerkundeGUI.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
setEnabled(true);
setVisible(true);
}
});
}
});
Fenster 2:
Code:
Abbrechen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
thisFrame.dispose();
}
});
Die Methode windowClosing wird nicht aufgerufen, wenn dispose auf dem 2. Fenster ausgeführt wird.
Wo liegt mein Fehler? Wie könnte man das oben beschriebene noch realisieren!
Grüße
dynamicx