Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在NetBeans平台上,具有主首选项和辅助首选项面板_Java_Maven_Netbeans - Fatal编程技术网

Java 在NetBeans平台上,具有主首选项和辅助首选项面板

Java 在NetBeans平台上,具有主首选项和辅助首选项面板,java,maven,netbeans,Java,Maven,Netbeans,在基于NetBeans平台RELEASE801的应用程序中,我希望通过一个主面板和一些辅助面板来扩展preferences面板,这些面板将显示在另一个主面板中 基本上,我有一个主面板: @OptionsPanelController.TopLevelRegistration( categoryName = "Snap", iconBase = "...", keywords = "...", keywordsCategory = "..." ) public fi

在基于NetBeans平台RELEASE801的应用程序中,我希望通过一个主面板和一些辅助面板来扩展preferences面板,这些面板将显示在另一个主面板中

基本上,我有一个主面板:

@OptionsPanelController.TopLevelRegistration(
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "..."
)
public final class SnapOptionsPanelController extends OptionsPanelController {
    [...]
}
@OptionsPanelController.ContainerRegistration(
    id = "myId",
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "...")
package org.esa.snap.gui.preferences.uibehavior;

import org.netbeans.spi.options.OptionsPanelController;
@OptionsPanelController.SubRegistration(location = "SnapPreferences",
                                        displayName ="...",
                                        keywords = "...",
                                        keywordsCategory = "...",
                                        id = "UiBehavior")
public final class UiBehaviorPanelController extends OptionsPanelController {
    [...]
}
2一个package-info.java,我希望它被解释为第二个主面板:

@OptionsPanelController.TopLevelRegistration(
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "..."
)
public final class SnapOptionsPanelController extends OptionsPanelController {
    [...]
}
@OptionsPanelController.ContainerRegistration(
    id = "myId",
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "...")
package org.esa.snap.gui.preferences.uibehavior;

import org.netbeans.spi.options.OptionsPanelController;
@OptionsPanelController.SubRegistration(location = "SnapPreferences",
                                        displayName ="...",
                                        keywords = "...",
                                        keywordsCategory = "...",
                                        id = "UiBehavior")
public final class UiBehaviorPanelController extends OptionsPanelController {
    [...]
}
3我想在第二个主面板下面显示的辅助面板的类:

@OptionsPanelController.TopLevelRegistration(
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "..."
)
public final class SnapOptionsPanelController extends OptionsPanelController {
    [...]
}
@OptionsPanelController.ContainerRegistration(
    id = "myId",
    categoryName = "Snap",
    iconBase = "...",
    keywords = "...",
    keywordsCategory = "...")
package org.esa.snap.gui.preferences.uibehavior;

import org.netbeans.spi.options.OptionsPanelController;
@OptionsPanelController.SubRegistration(location = "SnapPreferences",
                                        displayName ="...",
                                        keywords = "...",
                                        keywordsCategory = "...",
                                        id = "UiBehavior")
public final class UiBehaviorPanelController extends OptionsPanelController {
    [...]
}
运行应用程序并打开preferences视图,首先一切看起来都与预期的一样。但是,在我单击主面板的图标一次之后,我无法返回到辅助容器-内容保持不变。单击内置图标可按预期工作

我还注意到,只调用了主面板的JComponent的repaint方法,而不是次面板的JComponent方法

注意:我正在使用Maven nbm插件进行构建;无论如何,我认为问题与此无关,因为生成的清单文件对我来说很好。

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