java.lang.AssertionError:Netbeans平台中未定义显示名称

时间:2018-06-23 21:06:17

标签: java netbeans-8 netbeans-platform netbeans-plugins

我遵循此指南:https://platform.netbeans.org/tutorials/60/nbm-login.html

我创建了带有属性的非常简单的模块。我的控制器如下所示:

@OptionsPanelController.SubRegistration(
        displayName = "#AdvancedOption_DisplayName_TestConf",
        keywords = "#AdvancedOption_Keywords_TestConf",
        keywordsCategory = "Advanced/TestConf"
)
@org.openide.util.NbBundle.Messages({"AdvancedOption_DisplayName_TestConf=TestConf", "AdvancedOption_Keywords_TestConf=testConf"})
public final class TestConfOptionsPanelController extends OptionsPanelController {

    private TestConfPanel panel;
    private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
    private boolean changed;

    public void update() {
        getPanel().load();
        changed = false;
    }

    public void applyChanges() {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                getPanel().store();
                changed = false;
            }
        });
    }

    public void cancel() {
        // need not do anything special, if no changes have been persisted yet
    }

    public boolean isValid() {
        return getPanel().valid();
    }

    public boolean isChanged() {
        return changed;
    }

    public HelpCtx getHelpCtx() {
        return null; // new HelpCtx("...ID") if you have a help set
    }

    public JComponent getComponent(Lookup masterLookup) {
        return getPanel();
    }

    public void addPropertyChangeListener(PropertyChangeListener l) {
        pcs.addPropertyChangeListener(l);
    }

    public void removePropertyChangeListener(PropertyChangeListener l) {
        pcs.removePropertyChangeListener(l);
    }

    private TestConfPanel getPanel() {
        if (panel == null) {
            panel = new TestConfPanel(this);
        }
        return panel;
    }

    void changed() {
        if (!changed) {
            changed = true;
            pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
        }
        pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
    }

}

但是,当我在项目中添加此依赖项时,当我打开Tools > Options > Miscellaneous时出现错误:

java.lang.AssertionError: Display name not defined: OptionsDialog/Advanced/com-mycompany-CoolOptions-CoolOptionsPanelController

enter image description here

我很震惊。声明的功能无法立即使用。有人碰到这个吗?我怎样才能解决这个问题?我需要设置功能。<​​/ p>

0 个答案:

没有答案