java - 在 NetBeans 平台上,具有主要和次要首选项面板

标签 java maven netbeans

在基于 NetBeans 平台 (RELEASE801) 的应用程序中,我想通过主面板和一些辅助面板来扩展首选项面板,我希望这些面板出现在另一个主面板中。

基本上,我拥有的是 1) 我的主面板:

@OptionsPanelController.TopLevelRegistration(
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "..."
)
public final class SnapOptionsPanelController extends OptionsPanelController {
    [...]
}

2) package-info.java,我希望将其解释为第二个主面板:

@OptionsPanelController.ContainerRegistration(
    id = "myId",
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "...")
package org.esa.snap.gui.preferences.uibehavior;

import org.netbeans.spi.options.OptionsPanelController;

3)我的辅助面板的类,我希望它出现在第二个主面板下方:

@OptionsPanelController.SubRegistration(location = "SnapPreferences",
                                        displayName ="...",
                                        keywords = "...",
                                        keywordsCategory = "...",
                                        id = "UiBehavior")
public final class UiBehaviorPanelController extends OptionsPanelController {
    [...]
}

运行应用程序并打开首选项 View ,一切看起来都符合预期。但是,在我单击主面板的图标一次后,我无法返回到辅助容器 - 内容保持不变。单击内置图标即可按预期工作。

我还观察到,仅调用了主面板的 JComponent 的 repaint() 方法,而不调用辅助面板的方法。

注意:我使用 Maven nbm-plugin 进行构建;无论如何,我认为问题与此无关,因为生成的 list 文件对我来说看起来不错。

最佳答案

我明白了:主面板和 package-info.java 中定义的面板之间的 categoryName 值必须不同。

关于java - 在 NetBeans 平台上,具有主要和次要首选项面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27376939/

相关文章:

java - 如何在另一个类中使用在 class1 中创建的变量?

java - ScheduledExecutorService 中的线程排队

java - 如果需要抽象接口(interface),则不允许在函数参数中提供已实现的接口(interface)

java - 如何解决 Spark 库与 Cloudera CDH 5.8.0 虚拟盒冲突

java - 如何将我的 *.jasper 文件与 *.class 文件一起包含在 Maven 构建中?

java - Selenium 选择选项 NoSuchElementException

java - Maven 依赖项失败并出现 501 错误

java - 如何停止 Netbeans 中正在运行的进程

java - ChannelInboundMessageHandlerAdapter 找不到符号

java - 如何从 JavaFX 的流程 Pane 中删除节点?