1

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

TopComponent editorTopComponent = WindowManager.getDefault().findTopComponent("componentId");
editorTopComponent.add(new JButton("TEST"));
editorTopComponent.validate();
editorTopComponent.repaint();
编辑器TopComponent.updateUI();

谢谢

4

1 回答 1

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();
}

吉尔卡

于 2012-12-15T08:39:07.443 回答