java - 爪哇。摇摆。使 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 按钮。
解决方案
你有没有想过添加一个监听器?
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
a.setVisible(true)
}
});
推荐阅读
- mysql - MySqlException:自引用表上的“外键约束格式错误”
- python - 如何让文本在屏幕上显示一段时间?
- flutter - Dart - “此函数的返回类型为 'FutureOr
- javascript - 为什么道具/动作没有第一次通过?
- c# - Signalrhub 中的 asp.net core 3.1 服务生命周期和 Observable sobscriptions
- powershell - 使用databricks在adls gen2中导入表数据并保存为json文档
- sequelize.js - 用今天的日期续集 where 语句
- node.js - 使用节点导出大型数据集的内存问题
- c# - 单例继承和装饰器模式
- sql - 从 MS Access 转换到 SQL Server 时转换多个 IIf