0
我的基于Swing project.This项目的工作人员有超过10个类和一个主菜单类含有多个选项卡,然后点击这些选项卡中打开多个Ĵ框架窗口,但我想,如果没有打开多个窗口都出现在一个主window.When调用另一个类时,它会用现有的类GUI替换它的GUI而不打开一个新窗口?谢谢。使用在一个JFrame中打开的netbean多个类?
我的基于Swing project.This项目的工作人员有超过10个类和一个主菜单类含有多个选项卡,然后点击这些选项卡中打开多个Ĵ框架窗口,但我想,如果没有打开多个窗口都出现在一个主window.When调用另一个类时,它会用现有的类GUI替换它的GUI而不打开一个新窗口?谢谢。使用在一个JFrame中打开的netbean多个类?
最好的办法是使用JInternalFrame
而不是现在使用的JFrame窗口。您可以使用JInternalFrame作为任何JComponent。有关详细信息转向Java Docs
使用内部帧在this tutorial
这里还描述也是一个代码示例:
//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);
}
}
代码从this blog post来源
考虑使用CardLayout – MadProgrammer 2014-09-19 10:23:00
您可以使用JInternalFrame或替换JPanel – 2014-09-19 10:23:17
@ThatithaThilinaDayaratne:请正确拼写推荐的类名称 - 'JInternalFrame','JPanel'等。 – trashgod 2014-09-19 10:26:53