我需要帮助编写一个GUI应用程序:
•尝试关闭窗口时,应通过a询问用户 通过对话框确认他们确实希望终止申请 提供y(是)或n(否)指示。如果输入'y'则应用程序 应该立即终止,如果输入'n',它应该保持可见。 我几乎已经失望了,但是在点击JOptionPane.showConfirmDialog()之后,我无法让窗口保持可见;
•当用户通过单击相应的图标最小化窗口时,会显示一条消息 对话框应显示“最小化窗口”
•当用户恢复窗口时,应该有一个消息对话框 出现说“恢复窗口”。 这对我有很大的帮助。
答案 0 :(得分:2)
问题的第一部分:您可以向应用程序的顶级WindowListener
添加JFrame
,其中包含以下内容:
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
doExit(); // Will not return if user clicks yes.
super.windowClosing(e);
}
});
...然后按如下方式实施doExit()
:
private void doExit() {
int yesNo = JOptionPane.showConfirmDialog(this, "Are you sure you wish to exit?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (yesNo == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
此外,您需要在初始化应用程序时添加以下方法调用:
mainAppFrame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);