我在java中开发了一个简单的图像编辑器, 当我单击JFrame上的exit以询问用户是否要保存工作时,如何显示消息对话框?
谢谢大家
答案 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);
结果选项窗格。另一种方法是使用一种更专业的工厂方法。
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以获取基本信息和示例。
您需要遵循两个基本步骤:
WindowListener
并处理windowClosing(...)
事件setDefaultCloseOperation(...)
允许WindowListener控制结束事件。上面的链接显示了一个简单的示例以及执行上述两个步骤的简单API,因此您需要创建一个Action
来处理结束逻辑。