未调用Installer类的restored()方法

时间:2014-02-09 17:51:00

标签: java netbeans netbeans-platform

我有一个Netbeans平台应用程序,它由6个模块组成。其中一个模块有一个启动登录mehcanism的类。此类是标准的Netbeans Installer类,称为Installer并扩展ModuleInstall。

我无法发布全班,但看起来像这样:

public class Installer extends ModuleInstall {

    private static final String CHECK_DB = "Checking db connection at startup";
    private LoginForm loginForm = new LoginForm();

    private static  Logger logger = LoggerFactory.getLogger(Installer.class);

    public boolean closeApp = false;

    @Override
    public boolean closing() {
        getDBPreferencesService().clearPassoword();

        closeApp = true;
        return closeApp;
    }

    @Override
    public void restored() {
        logger.info(CHECK_DB);
        load();     
    }

    private void load() {
        //stuffs
    }
}

我有restore()方法,它覆盖了ModuleInstall中的restored()。 模块的manifest.mf文件包含以下行:

OpenIDE-Module: org.app.station
OpenIDE-Module-Install: org/app/station/login/Installer.class
OpenIDE-Module-Localizing-Bundle: org/app/station/Bundle.properties
OpenIDE-Module-Requires: org.openide.windows.WindowManager

问题:如果我在启动画面后运行应用程序,则会出现主窗口。还没有调用restored()方法。

问题: 这背后可能是什么?如何获得调用方法?

2 个答案:

答案 0 :(得分:1)

也许Geertjan的博客[1]可能会帮助你。

例如,他使用@OnStart注释。

[1] https://blogs.oracle.com/geertjan/entry/simple_security_mechanism_for_the

答案 1 :(得分:0)

具有Installer / Activator的模块以及依赖于该类的所有其他模块必须在模块系统API上设置依赖关系。