如何在netbeans平台中创建内部框架?

时间:2010-03-13 21:56:43

标签: java swing netbeans

我创建了类NewProject扩展了JInternalFrame。然后我创建了New ... Action命名为“NEW”,本地化在File菜单中。我将代码NewProject p = new NewProject(); p.setVisible(true);放到ActionPerformed方法中。

但是当我运行模块并在文件菜单中单击“新建”时,什么都没有出现。 哪里有问题?

修改 我通过代码部分地解决了它:

public void actionPerformed(ActionEvent e) {

    JInternalFrame f = new JInternalFrame();
    f.setSize(500, 500);
    f.setVisible(true);
    JDesktopPane p = new JDesktopPane();
    p.add(f);

   //WindowManager.getDefault().getMainWindow().setTitle("fFF");
   WindowManager.getDefault().getMainWindow().add(p)

}

但GUI已被破坏。当我创建新的内部框架时,黑色背景会在我移动该框架时出现。 知道怎么解决吗?

2 个答案:

答案 0 :(得分:2)

JInternalFrame的习惯ContainerJDesktopPane。文章How to Use Internal Frames概述了要点,您可能希望在此上下文中使用ActionJMenu这么简短example

尽管NetBean的GUI编辑器很吸引人,但您可能希望首先使用Swing组件变得更加舒适。

附录:您无法向Top-Level Container之类的JFrame添加一个JDesktopPane,但您可以向JInternalFrame添加任意数量的JDesktopPane个实例}。试试demo,看看它是如何运作的。

附录:啊,你的意思是NetBeans Platform。对不起,我没用过。

答案 1 :(得分:1)

我认为您正在寻找的答案是:https://blogs.oracle.com/geertjan/jdesktoppane,-jinternalframe,-and-topcomponent

Geertjan Wielenga使用take内部TopComponent显示示例,您可以在其中附加一些JDesktopPane

JInternalFrame