基本的java gui程序

时间:2011-11-02 16:45:46

标签: java swing user-interface joptionpane windowlistener

我需要帮助编写一个GUI应用程序:

•尝试关闭窗口时,应通过a询问用户 通过对话框确认他们确实希望终止申请 提供y(是)或n(否)指示。如果输入'y'则应用程序 应该立即终止,如果输入'n',它应该保持可见。 我几乎已经失望了,但是在点击JOptionPane.showConfirmDialog()之后,我无法让窗口保持可见;

•当用户通过单击相应的图标最小化窗口时,会显示一条消息 对话框应显示“最小化窗口”

•当用户恢复窗口时,应该有一个消息对话框 出现说“恢复窗口”。 这对我有很大的帮助。

1 个答案:

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