WindowListener funktioniert nicht wie erwartet

Ich möchte, dass meine GUI einige Überprüfungen durchführt, wenn ein JOptionPane angezeigt wird. Da ich keinen anderen Weg finden kann, kann ich dies jedes Mal tun, wenn das Anwendungsfenster den Fokus verliert (es wird nur eine Zeichenfolge überprüft). Aus diesem Grund habe ich meinem JFrame den folgenden Code hinzugefügt:

<code>appFrame.addWindowListener(new WindowAdapter() {

            @Override
            public void windowLostFocus(WindowEvent e) {
                System.out.println("Focus Lost");

            }
            @Override
            public void windowClosing(WindowEvent e) {
                //some other stuff here that work
            }
});
</code>

Der Listener zum Schließen des Fensters funktioniert einwandfrei. Obwohl, wenn der JFrame nicht fokussiert ist, nichts passiert. Sollte "Focus Lost" nicht jedes Mal gedruckt werden, wenn ich von JFrame zu einem anderen Fenster wechsle? Wird diese Methode auch ausgelöst, wenn ein JOptionPane angezeigt wird?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage