Direkt zum Hauptbereich

NetBeans IDE: Schließen des Hauptfensters bei per GUI-Builder erstellen Swing-Anwendungen abfangen

Ich habe angefangen, ein wenig in Java zu programmieren, ohne eine systematische Einführung in diese Programmiersprache und die zugehörigen Bibliotheken, wie beispielsweise Swing, durchgearbeitet zu haben.

Ich stoße daher immer auf für den erfahrenen Java-Programmierer lächerliche Probleme, die mich oft viel Zeit der Recherche und des Probierens kosten. Damit andere Anfänger diese Probleme schneller lösen können, werde ich hier im Blog das ein oder andere Problem mit der Lösung veröffentlichen. Da ich ein Java-Anfänger bin, sind meine Lösungen wahrscheinlich oftmals “suboptimal”, aber sie haben für mich mein Problem gelöst. Den Auftakt bildet ein Problem bei per NetBeans-GUI-Builder erstellten Anwendungen.

Bei Anwendungen, deren Benutzeroberfläche mit dem NetBeans-GUI-Builder Matisse erstellt wurden, kann man das Schließen des Hauptfensters auf folgende Weise abfangen:

In der entsprechenden AppView-Klasse fügt man einen Window-Listener (hier mit dem Namen Closer) hinzu:

public meineAnwendungView(SingleFrameApplication app) {
    super(app);
    initComponents();
    getFrame().addWindowListener(new Closer());
     (...) 


In der gleichen Klasse schreibt man dann den Code für den Listener, aus dem man dann für das saubere Beenden seines Programms sorgen kann:

public void windowClosing(WindowEvent e) {
    Programmlogik.programmende(); // hier den entsprechenden eigenen Aufruf eintragen
}


In “normalen” per Matisse erstellten GUI-Fenstern (JFrame-Formulare) lässt sich das Schließen abfangen, indem man eine Methode formWindowClosing(java.awt.event.WindowEvent evt) erzeugt:

private void formWindowClosing(java.awt.event.WindowEvent evt) {
Programmlogik.programmende(); // hier den entsprechenden eigenen Aufruf eintragen 
}



#java

Kommentare