微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Runnable jar 不会使用 WindowListener 和方法 windowClosing 关闭

如何解决Runnable jar 不会使用 WindowListener 和方法 windowClosing 关闭

当我点击窗口的红色 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 上发生了我上面描述的事情。

有人能帮我解决这种奇怪的情况吗?

非常感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。