首页 > 解决方案 > 爪哇。摇摆。使 setDefaultCloseOperation 关闭当前框架,但在单击右上角的 X 按钮时也打开另一个框架

问题描述

import javax.swing.*;

public class B extends JFrame {

    B(){
        this.setSize(1000,1000);
        this.setVisible(true);
        A a = new A();
        this.setDefaultCloseOperation(a.setVisible(true));
    }
}

好的,我有两个框架:框架 A 和框架 B。当程序执行时,框架 A 打开。当在 Frame A 中按下按钮时,Frame A 被隐藏,Frame B 打开。我需要处理 Frame B,并在 Frame B 中按下默认 X 按钮时使 Frame A 再次可见。我正在使用 Swing,但我无法弄清楚。如果堆栈上已经有解决方案,我找不到它,但希望有一个链接。谢谢你。

此外,我不希望创建已经打开的框架的全新实例。我怎样才能让 Frame A 再次可见。我知道为此制作一个按钮很容易,但我需要它作为默认的 X 按钮。

标签: javaswing

解决方案


你有没有想过添加一个监听器?

 this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

    this.addWindowListener(new WindowAdapter() { 
        @Override
        public void windowClosing(WindowEvent e) { 
                a.setVisible(true)
        }
    });

推荐阅读