Mar*_*der 4 java swing windowlistener
我有一个简单的java GUI应用程序,它会在退出程序之前提示用户输入"你确定要退出吗?"这样的消息.虽然这仅在我使用我的退出程序JButton时有效,但是当我在JFrame标题栏中使用红叉时,如果我在消息对话框窗口中单击是或否,则无关紧要.
对于此任务,我使用此代码向我的JFrame添加了一个新的WindowListener
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
int Answer = JOptionPane.showConfirmDialog(frame, "You want to quit?", "Quit", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (answer == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
Run Code Online (Sandbox Code Playgroud)
如果我单击"否",程序将退出,我该如何停止该操作?
tes*_*ter 10
在我看来,你需要这条线:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud)
这意味着当您单击右上角的红色X时,您的框架不会关闭.但这也意味着您需要自己已经提供的退出实施.
编辑:在我看来,你的代码将无法正常工作(我无法测试它,所以我不确定).你需要这个windowClosing()方法.
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int Answer = JOptionPane.showConfirmDialog(frame, "You want to quit?", "Quit", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (answer == JOptionPane.YES_OPTION)
exit(frame);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8642 次 |
| 最近记录: |