我正在开发基于swing的项目。这个项目有10个以上的子类和一个主菜单类,其中包含多个选项卡,点击这些选项卡打开多个J Frame窗口,但我希望不打开多个窗口,一切都出现在一个主窗口。当调用另一个类时,它用现有的类GUI替换它的GUI而不打开一个新窗口?谢谢。
答案 0 :(得分:0)
您最好的选择可能是使用JInternalFrame
而不是您正在使用的JFrame窗口。您可以将JInternalFrame用作任何JComponent。有关详细信息,请转到Java Docs
这是一个代码示例:
//Need to have a JDesktopPane to add the JInternalFrame to
JDesktopPane desktop;
//Adding the internal frame to the JDesktopPane
MyInternalFrame frame = new MyInternalFrame();
frame.setVisible(true);
desktop.add(frame);
try {
frame.setSelected(true);
} catch (java.beans.PropertyVetoException e) {
//Do error stuff - optional
}
其中:
//The custom internal frame
private class MyInternalFrame extends JInternalFrame {
public MyInternalFrame() {
super("MyInternalFrame",
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
setSize(300, 200);
}
public MyInternalFrame(int offsetX, int offsetY) {
super("MyInternalFrame",
true, //resizable
true, //closable
true, //maximizable
true);//iconifiable
setSize(300, 200);
setLocation(offsetX, offsetY);
}
}
的代码