Java 在JFrame上单击exit时如何执行showMessageDialog

Java 在JFrame上单击exit时如何执行showMessageDialog,java,netbeans,jframe,Java,Netbeans,Jframe,我用java开发了一个简单的图像编辑器, 当我在JFrame上单击exit询问用户是否要保存工作时,如何显示消息对话框 谢谢大家在特定事件中使用“显示”。例如,窗口侦听器中的 WindowListener wl = new WindowAdapter() { public void windowClosing(WindowEvent e) { // add the option pane code here } }; JFrame yourFrame =

我用java开发了一个简单的图像编辑器, 当我在JFrame上单击exit询问用户是否要保存工作时,如何显示消息对话框

谢谢大家

在特定事件中使用“显示”。例如,
窗口侦听器中的

WindowListener wl = new WindowAdapter() {
     public void windowClosing(WindowEvent e) {
          // add the option pane code here
     }
};
JFrame yourFrame = // your frame here
yourFrame.addWindowListener(wl);
JOptionPane
可以这样创建:

final JOptionPane optionPane = new JOptionPane(
    "The only way to close this dialog is by\n"
    + "pressing one of the following buttons.\n"
    + "Do you understand?",
    JOptionPane.QUESTION_MESSAGE,
    JOptionPane.YES_NO_OPTION);

结果选项窗格。另一种选择是使用一种更专业的工厂方法

int option = JOptionPane.showConfirmDialog(null,"Exit Application?");
if(option == JOptionPane.YES_OPTION) {
    System.exit(0);
}
当您添加这样一个新的close处理程序时,我建议使用以下代码停用默认处理程序:

yourFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
有关
setDefaultCloseOperation
的更多信息,请咨询

希望这有助于查看基本信息和示例

您需要遵循两个基本步骤:

  • 在框架中添加一个
    WindowListener
    ,并处理
    windowClosing(…)
    事件
  • 使用框架上的
    setDefaultCloseOperation(…)
    允许WindowListener控制关闭事件

  • 上面的链接显示了一个简单的示例以及一个执行上述两个步骤的简单API,因此您需要做的就是创建一个
    操作
    来处理关闭逻辑。

    可能与ok thank重复,但我不明白如何使用setDefaultCloseOperation(…)在允许WindowListener控制关闭事件的框架上。@idoc,你为什么不接受这个答案?我在isi之前几个小时向您提供了提供确认对话所需的确切步骤。事实上,isi在看到我的答案后改变了他的答案(因为他的答案不完整)。