【发布时间】:2016-01-16 15:35:46
【问题描述】:
我有 2 个扩展 Jframe 的类。我想在单击按钮时调用第二个 Jframe,并在单击关闭时返回。所以在第一个 JFrame 我写了这段代码
public void actionPerformed(ActionEvent e) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Lessons frameLessons = new Lessons();
frameLessons.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
但是当我尝试关闭第二个 Jframe 时,第一个也会关闭
【问题讨论】:
-
“我有 2 个扩展 Jframe 的类。” 这是 IDE 通常鼓励的(扩展 GUI 类而不是仅仅配置标准类的实例)应该是避免。话虽如此,如果确定继续使用GUI builder,最好扩展
JPanel。这样,所有面板都可以在像框架这样的单个顶级容器中使用 - 如果合适的话,或者显示在对话框、小程序中,或者.. “单击按钮时调用第二个 Jframe 并返回单击关闭时。” 这表明第二个容器应该是 modalJDialog..