我已经在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 class和class documentation的the styled-components docs都没有提供有关我应该做的更多有用的指导(恕我直言)。
如何应该被解散或删除的启动图像?我能做错什么?
解决方案:作者并未真正致电splash.close()
。请参阅下面的评论第一个答案。
答案 0 :(得分:1)
我的应用程序使用在VM的参数中定义的启动画面:
javaw -splash:splash.png ...other params here...
当第一个JFrame设置为可见时,启动画面会自动消失。
这可能不是解决您确切问题的方法,但也许您可以采用这种方法来使其发挥作用。
至于你的解决方案,我没有在OS X Sierra上使用启动画面的经验,也没有使用清单文件中定义的启动屏幕的经验,但是你确定这个调用splash.close();
的行真的执行了吗?您是否已逐步调试此代码?