当我点击JFrame上的退出时,我该怎么做showMessageDialog

时间:2014-06-16 17:31:07

标签: java netbeans jframe

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

谢谢大家

2 个答案:

答案 0 :(得分:0)

使用JOptionPane显示特定事件。例如WindowListener中的window closing event

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);

some option pane with yes and no buttons

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

int option = JOptionPane.showConfirmDialog(null,"Exit Application?");
if(option == JOptionPane.YES_OPTION) {
    System.exit(0);
}

当您添加这样的新关闭处理程序时,我建议使用以下代码停用默认处理程序:

yourFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

有关setDefaultCloseOperation咨询the documentation的详细信息。

希望这有帮助

答案 1 :(得分:0)

查看Closing an Application以获取基本信息和示例。

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

  1. 向框架添加WindowListener并处理windowClosing(...)事件
  2. 使用框架上的setDefaultCloseOperation(...)允许WindowListener控制结束事件。
  3. 上面的链接显示了一个简单的示例以及执行上述两个步骤的简单API,因此您需要创建一个Action来处理结束逻辑。