WindowListener nie działa zgodnie z oczekiwaniami

Chcę, aby mój GUI sprawdzał, kiedy pojawi się JOptionPane. Ponieważ nie mogę znaleźć innego sposobu, myślę, że mogę to zrobić za każdym razem, gdy okno aplikacji traci fokus (po prostu sprawdza ciąg). Z tego powodu dodałem następujący kod na moim JFrame:

<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>

Słuchacz zamykający okno działa poprawnie. Chociaż gdy JFrame nie jest skupiony, nic się nie dzieje. Czy „Focus Lost” nie powinien być drukowany za każdym razem, gdy przełączam się z JFrame na inne okno? Czy ta metoda zostanie także uruchomiona po wyświetleniu JOptionPane?

questionAnswers(3)

yourAnswerToTheQuestion