使用SplashScreen-Image with SWT时,如何让Java启动画面消失?

时间:2017-05-26 17:20:26

标签: java macos swt

我已经在OS X Sierra下编写了一个SWT应用程序,需要一些时间来启动,所以我想添加一个启动画面,以明确正在发生SplashScreen-Image: property in the Java Manifest file似乎非常适合这一点。这在某种程度上起到了显示启动画面的作用,但问题是在应用程序主窗口最终出现后图像永远不会消失。我试过添加

    final SplashScreen splash = SplashScreen.getSplashScreen();
    if (splash != null) {
        splash.close();
    }

在调度循环开始之前,仍然可以看到启动图像。 Oracle demo code the SplashScreen classclass documentationthe styled-components docs都没有提供有关我应该做的更多有用的指导(恕我直言)。

如何应该被解散或删除的启动图像?我能做错什么?

解决方案:作者并未真正致电splash.close()。请参阅下面的评论第一个答案。

1 个答案:

答案 0 :(得分:1)

我的应用程序使用在VM的参数中定义的启动画面:

javaw -splash:splash.png   ...other params here...

当第一个JFrame设置为可见时,启动画面会自动消失。

这可能不是解决您确切问题的方法,但也许您可以采用这种方法来使其发挥作用。

至于你的解决方案,我没有在OS X Sierra上使用启动画面的经验,也没有使用清单文件中定义的启动屏幕的经验,但是你确定这个调用splash.close();的行真的执行了吗?您是否已逐步调试此代码?