java - 使用 "really close?"对话框关闭 JFrame

标签 java swing jframe oncloselistener

我有一个 JFrame,如果我按下右上角的关闭按钮,我会调用一个 JDialog 并询问用户是否确实要关闭。

这是我的主 JFrame 中关闭按钮上的 ActionListener:

...
//close listener
        addWindowListener(new WindowAdapter() {//invoke "wirklich schließ3n" window if Alt+F4
            @Override
            public void windowClosing(WindowEvent event) {
                MainGuiWindow.this.saveSettings();

CloseDialog cd = new CloseDialog(MainGuiWindow.this); if (cd.getResult()) { System.exit(0); } else { //MainGuiWondow is "setVisible(false)" but still running | I don't know how to fix it MainGuiWindow.this.setVisible(true);//doesn't work } } });

JDialog 只有两个按钮(是/否)(按下任何按钮后,我调用 dispose(); 在 JDialog 中按钮的 ActionListener 中以及在 dispose() 之后;我返回答案: yes 返回 true 不返回 false

任何人都可以告诉我在 MainGuiWindow 中的 Close ActionListener 的其他情况下该怎么做。 CloseDialog因dispose()而关闭;但主窗口是 setVisible(false);但仍在运行

最佳答案

这是我对你的帮助

您需要将 JFrame 上的默认关闭操作设置为“不执行任何操作”:

jFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

为框架添加一个 WindowListener。

jFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
    handleClosing();
}
});

Refer Here

关于java - 使用 "really close?"对话框关闭 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28539909/

相关文章:

java - 在java中设置框架从左下角开始

java - 对多个 jButton 执行一项操作

java - 如何从数组列表中填充 jframe 表?

java - 尝试绘制多个多边形会导致错误

java - 如何在 Java Swing 应用程序中播放 MP4 视频

java - PHP Java Bridge 是否具有与 JSP->Java 相同的性能?

Java 线程 : Excessive CPU Utilization

java - 放入完整英语词典的数据结构,以便从 Android 中的 String 快速返回所有可能的单词完成

java - HashMap 中的 LinkedList 搜索性能

java swing keylistener 2d Boulderdash