我想为我的JavaFX应用程序显示启动画面图像。我之前通过设置:
为Swing应用程序做了这个SplashScreen-Image: splash.png
在应用程序jar文件的MANIFEST.MF中。如上所述here,因为我没有显示Swing / AWT窗口,所以启动画面不会自动关闭。所以我手动关闭它:
final SplashScreen splash = SplashScreen.getSplashScreen();
if (splash != null)
{
splash.close();
}
问题是我的JavaFX应用程序的菜单栏没有进入系统菜单栏,它附加到应用程序,即使我正在请求它:
menuBar.setUseSystemMenuBar(true);
如果我从jar的MANIFEST.MF中删除SplashScreen-Image,菜单栏会按预期显示。
我已经考虑使用Preloader来做这件事,但因为:
而打了折扣这是Java中的错误吗?我能采取的其他方法是否与我习惯的Swing应用程序一样有效?
我有一个demo maven项目here。您需要编辑pom以包含/排除jar中的SplashScreen-Image。