我有一个TopComponent
以模式显示的properties
。有两种方法可以打开它。
- 通过窗口/顶部组件打开操作
- 打开一个文件,顶部的组件会自动打开。
我正在使用这样的注释配置第一个操作。
@ActionID(category = "Window", id = "org.netbeans.modules.plantumlnb.PUMLTopComponent")
@ActionReference(path = "Menu/Window" /*, position = 333 */)
@TopComponent.OpenActionRegistration( displayName = "#CTL_PUMLAction",
preferredID = "PUMLTopComponent")
我正在手动创建一个新的TopComponent
并调用open
它以启用第二个操作。
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
PUMLTopComponent pumltc = new PUMLTopComponent();
pumltc.open();
pumltc.setNewContent(obj);
}
});
当用户打开一个文件时,第二个代码片段会打开一个 PUMLTopComponent 的实例。但是,如果用户现在去点击窗口/打开操作,则会打开第二个窗口。
如何使用 netbeans 注册手动实例化的 TopComponent 实例,以便当用户单击 Window/open 操作时,netbeans 使用上述实例而不是创建一个新实例?