Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关闭时的MessageBox_Java_Messagebox - Fatal编程技术网

Java 关闭时的MessageBox

Java 关闭时的MessageBox,java,messagebox,Java,Messagebox,我正在寻找退出和更改时创建消息传递机制。 我希望它显示一个消息框,询问用户: (是否确实不想保存更改-是/否) 单击名为“退出”的按钮关闭表单时,或使用“关闭”按钮“X”时。不知道该按钮的语法,请有人帮助我好吗?以下是一些基本代码: public class ClosingFrame extends JFrame { public ClosingFrame() { super("Shutdown hook"); setSize(400, 400);

我正在寻找退出和更改时创建消息传递机制。 我希望它显示一个消息框,询问用户: (是否确实不想保存更改-是/否)


单击名为“退出”的按钮关闭表单时,或使用“关闭”按钮“X”时。不知道该按钮的语法,请有人帮助我好吗?

以下是一些基本代码:

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

}

您正在使用JFrame吗?只需检查
和其他(取消/关闭/退出)将落在其他部分。您使用JFrame吗?–codeNinja->是的,谢谢您的支持answer@EmlX不客气。如果这是你想要的,请友好地接受答案。:)是的,这很有用,但仍然不是我想要的。我使用你的答案,但这只是我需要的一半。