使用netbean在一个JFrame中打开多个类



我正在进行基于swing的项目。这个项目有10多个子类和一个主菜单类,其中包含多个选项卡,单击这些选项卡可以打开多个J Frame窗口,但我希望在不打开多个窗口的情况下,所有内容都显示在一个主窗口中。当调用另一个类时,它用现有的类GUI替换它的GUI,而不打开新窗口?谢谢

您最好的选择可能是使用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);
    }
}

代码来源于此博客文章

相关内容

  • 没有找到相关文章

最新更新