0

当我单击窗口的红色 x 时,我正在尝试添加一个 JOptionPane 消息对话框,但是该窗口不会关闭并且仍然打开而不进行更改。

我的代码示例:

Class Janela extends JFrame implements ActionListener{

public Janela() {
        constructWindow();
        
    }
void constructWindow(){
    ...

    setVisible (true);

    setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
      addWindowListener(new java.awt.event.WindowAdapter() {
                @Override
           public void windowClosing(java.awt.event.WindowEvent windowEvent) {
                    end = Instant.now();
                    Duration timeElapsed = Duration.between(start, end); 
                    JOptionPane.showMessageDialog(
                            null, 
                            "Text Example",
                            JOptionPane.INFORMATION_MESSAGE, 
                            img_welcome_icon); 
                    System.exit(0);
           }
     });
...
}

另一方面,如果我使用默认关闭操作 (setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)) 窗口正常关闭,没有问题。

更新:在 Eclipse 上运行,窗口运行得很好,当使用 WindowListener 和 WindowClosing 方法关闭时显示 Joption 消息对话框....但是在可运行的 jar 上发生了我上面描述的情况。

任何人都可以帮助我解决这种奇怪的情况吗?

非常感谢!

4

0 回答 0