关闭时的MessageBox

时间:2014-04-24 20:16:08

标签: java messagebox

我在退出时寻找用于消息传递的创建机制并进行了更改。   我希望它显示一个询问用户的消息框:   (你确定你不想保存更改 - 是/否)

通过点击名为“退出”的按钮或使用关闭按钮“X”关闭表单。不知道它的语法,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

以下是有关如何操作的基本代码:

public class ClosingFrame extends JFrame {
    public ClosingFrame() {
        super("Shutdown hook");
        setSize(400, 400);
        setLocationByPlatform(true);
        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); /* important */

        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                int showConfirmDialog = JOptionPane.
                        showConfirmDialog(ClosingFrame.this, "Do you want to save?");
                if (showConfirmDialog == JOptionPane.YES_OPTION) {
                    System.out.println("saved");
                    System.exit(0);
                } else if (showConfirmDialog == JOptionPane.NO_OPTION) {
                    System.out.println("not saved");
                    System.exit(0);
                } else {
                    System.out.println("aborted");
                    // do nothing
                }
            }

        });

        setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> new ClosingFrame());
    }

}