1

私は netbeans RCP デスクトップ アプリケーションに取り組んでおり、コンポーネントを動的に追加する必要があります。たとえば、メニューをクリックすると、実行時にコンポーネントをウィンドウに追加するボタンがあります。ボタンのアクションリスナーがあり、実行されたアクションに次のコードを追加しましたが、新しいコンポーネントが追加されていません。どんな助けでも大歓迎です。

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

ありがとう

4

1 に答える 1

0

今すぐインスタンス (複数) を作成する場合は、次を使用できます。

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

1 つのインスタンス (のみ) で 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 に答える