当我单击窗口的红色 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 上发生了我上面描述的情况。
任何人都可以帮助我解决这种奇怪的情况吗?
非常感谢!