Hallo zusammen,
Ich möchte gerne beim Schliessen des Fensters die gleiche Action ausführen, wie beim klicken des entsprechenden menuItems.
Da ich sowohl mehrere JFrames , wie auch immer JButtonsund JMenuItems habe, die dieselbe Action ausführen, habe ich entsprechende Actions erstellt, die die Funktionen ausführen.
Die Actions werden zum Beispiel so eingebunden.
Die Klasse OpenAction erbt von AbstractAction und implementiert die actionPerformed(ActionEvent e)-Methode.
So weit, so gut. Die Menus und Toolbars der verschiedenen JFrames lassen sich so gut steuern.
Nun möchte ich aber beim folgenden Ereignis (Fenster wird durch 'x' oder ALT+F4 geschlossen) die selbe Aktion ausführen.
Irgendwie komm ich nicht drauf.
Wie macht man so etwas?
Ist das grundsätzlich der richtige Weg?
Ich kann keine Methode aufrufen, da in der Action eventuell noch andere Aktionen ausgeführt und dafür bin ich auf den ActionEvent angewiesen.
Danke für jeden Tipp!
Gruss
mas
Ich möchte gerne beim Schliessen des Fensters die gleiche Action ausführen, wie beim klicken des entsprechenden menuItems.
Da ich sowohl mehrere JFrames , wie auch immer JButtonsund JMenuItems habe, die dieselbe Action ausführen, habe ich entsprechende Actions erstellt, die die Funktionen ausführen.
Die Actions werden zum Beispiel so eingebunden.
Java:
private Action actOpen;
actOpen = new OpenAction("Öffnen...",
Constants.IMAGE_OPEN_PROJECT,
"Öffnet ein Projekt.",
new Integer(KeyEvent.VK_O));
Die Klasse OpenAction erbt von AbstractAction und implementiert die actionPerformed(ActionEvent e)-Methode.
So weit, so gut. Die Menus und Toolbars der verschiedenen JFrames lassen sich so gut steuern.
Nun möchte ich aber beim folgenden Ereignis (Fenster wird durch 'x' oder ALT+F4 geschlossen) die selbe Aktion ausführen.
Java:
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(final WindowEvent we) {
// Hier action aufrufen
}
});
Irgendwie komm ich nicht drauf.
Wie macht man so etwas?
Ist das grundsätzlich der richtige Weg?
Ich kann keine Methode aufrufen, da in der Action eventuell noch andere Aktionen ausgeführt und dafür bin ich auf den ActionEvent angewiesen.
Danke für jeden Tipp!
Gruss
mas