WindowListener does not work as expected

前端 未结 3 503
慢半拍i
慢半拍i 2020-12-21 07:49

I want my GUI to make some checks when a JOptionPane appears. Because I can\'t find any other way, I though I can do those each time the application window loses focus(its j

3条回答
  •  死守一世寂寞
    2020-12-21 07:58

    I'm not going to go into why you are doing what you are doing, but it is not working as you expect for the following reason:

    WindowAdapter is a convenience class so you can create one listener and register it for multiple types of events. You have only registered it for one set of events, you need to also register it for focus events via: Window.addWindowFocusListener()

    WindowAdapter adapter = 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
            }
        };
    appFrame.addWindowListener(adapter);
    appFrame.addWindowFocusListener(adapter);
    

提交回复
热议问题