netbeans rcp在运行时添加到topcomponent

时间:2012-12-04 03:55:07

标签: netbeans-7 netbeans-platform

我正在开发netbeans RCP桌面应用程序,需要动态添加组件。例如,我有一个按钮,如果我点击菜单,应该在运行时向窗口添加组件。我有一个按钮的actionlistener,我在执行的操作中添加了以下代码,但没有看到添加新组件。任何帮助表示赞赏。

TopComponent editorTopComponent = WindowManager.getDefault()。findTopComponent(“componentId”);
            editorTopComponent.add(new JButton(“TEST”));
            editorTopComponent.validate();
            editorTopComponent.repaint();
            editorTopComponent.updateUI();

由于

1 个答案:

答案 0 :(得分:0)

如果你想创建现在实例(多一个),那么你可以使用:

MyTopComponent my = new MyTopComponent();
my.open();
my.requestActive();

如果你想在一个实例中打开TC(仅限),那么你可以使用:

TopComponent editor= WindowManager.getDefault().findTopComponent("componentId");
if(editor!=null){
  JPanel x =editor.getMyPanel();
  x.setVisible(false);
   //some changes
  x.setVisible(true);
  if(!editor.isOpened())editor.open();
}

日尔卡