TopComponent
モードで表示される がありますproperties
。これを開くには 2 つの方法があります。
- Window/Top コンポーネントの open アクション経由
- ファイルを開くと、最上位のコンポーネントが自動的に開かれます。
そのような注釈を使用して最初のアクションを構成しています。
@ActionID(category = "Window", id = "org.netbeans.modules.plantumlnb.PUMLTopComponent")
@ActionReference(path = "Menu/Window" /*, position = 333 */)
@TopComponent.OpenActionRegistration( displayName = "#CTL_PUMLAction",
preferredID = "PUMLTopComponent")
私は手動で新しいものを作成し、それをTopComponent
呼び出しopen
て 2 番目のアクションを有効にしています。
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
PUMLTopComponent pumltc = new PUMLTopComponent();
pumltc.open();
pumltc.setNewContent(obj);
}
});
ユーザーがファイルを開くと、PUMLTopComponent のインスタンスが 2 番目のコード スニペットによって開かれます。しかし、ユーザーが Window/open アクションをクリックすると、2 つ目のウィンドウが開きます。
ユーザーが Window/open アクションをクリックしたときに netbeans が新しいインスタンスを作成するのではなく、上記のインスタンスを使用するように、手動でインスタンス化された TopComponent インスタンスを netbeans に登録するにはどうすればよいですか?