【发布时间】:2019-02-22 02:02:14
【问题描述】:
我有一个框架 (main)。有两个按钮:Items 和 Sale。
当我单击按钮 Items 时,它会打开一个框架 (Items)
我想,当我点击按钮Sale时,它应该关闭Items并打开Sale。
这是Items 框架:
public class Items extends JFrame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Items frame = new Items();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
更新:- 这是我的销售课程
public class Sale extends JFrame {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Sale frame = new Sale();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
【问题讨论】:
-
1) 见The Use of Multiple JFrames, Good/Bad Practice? 很可能第二个“框架”应该是一个对话框。请参阅已接受的答案以获取替代方案。 2) 为了尽快获得更好的帮助,请发帖minimal reproducible example 或Short, Self Contained, Correct Example。
-
为什么您甚至需要关闭并打开一个新框架。为什么不尝试使用带有销售面板和其他内容的卡片布局。当您单击销售时,调用卡片布局 next() 方法。您甚至可以在需要时返回其他面板。这让你的生活变得轻松。关闭和打开框架很费时间,而且不好。
-
看起来 JTabbedPane 是您所需要的。您的两个按钮被标签“标题”替换,并且在用户单击这些标题时实现关闭(/处置)和打开框架的效果。