我有一个由6个模块组成的Netbeans平台应用程序。这些模块之一具有启动登录机制的类。此类是标准的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中的restore()。
模块的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


问题:如果在启动屏幕后运行应用程序,则会显示主窗口。未调用restore()方法。

题:
这可能是什么呢?如何获得该方法?

最佳答案

Geertjan的博客[1]也许可以为您提供帮助。

例如,他使用@OnStart注释。

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

关于java - 未调用Installer类的restore()方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21662660/

10-12 01:43