【问题标题】:Best way to create splash screen for a Java application?为 Java 应用程序创建启动画面的最佳方式?
【发布时间】:2013-10-20 12:50:09
【问题描述】:

我有一个设计为在 Windows 和 OSX 上运行的 Java 应用程序。在某些情况下,加载可能需要一段时间,因为它基本上是查看主目录中的目录(所以是两级目录)。完成后将显示主 GUI,除非有任何错误,在这种情况下会出现 JOptionPane。

我想在显示 GUI 或消息之前显示一个启动屏幕,但是我不确定执行此操作的最佳方法是什么。另外,我不确定如何创建启动画面 - 是否有人们使用的程序?

【问题讨论】:

  • 你可以看看这个answer或者使用Java内置的:docs.oracle.com/javase/tutorial/uiswing/misc/splashscreen.html
  • 你不知道如何为此创建图像和应用程序是什么意思?你的意思是你需要像photoshop这样的东西吗?
  • @GuillaumePolet 感谢您提供指向您提供的答案的链接。它看起来很有帮助 - 我在搜索中没有遇到它。
  • @Warlock 是的,我没有创建这样的图形的经验,所以我不知道是否有任何特定的软件可以使用。
  • @Warlock 有什么免费的吗?

标签: java swing cross-platform splash-screen


【解决方案1】:

如果您谈论的是 Swing 应用程序,那么有一个关于此主题的 Java 教程:

对于 JNLP 启动的 Swing 应用程序,此博客介绍了更改 JNLP 启动屏幕:

我找不到 SWT 应用程序的教程,但这里有几个示例:


如果您询问如何为您的启动画面创建图形/图像,有很多工具可用于创建图像,而推荐一个对于 Stack Overflow 来说是题外话。

【讨论】:

  • 感谢您的回答。我确实看到了 Java 教程,但它似乎有点模糊,我不确定启动画面何时会消失。但这些例子应该会有所帮助。
  • 在第一个教程中,飞溅不会自然消失。当您的应用被读取用于业务时,您需要在 SplashScreen 对象上调用 close()
  • 我刚刚查看了完整的代码,你是对的。我有点误解了 API
【解决方案2】:

在应用程序启动时显示一个带有图像的 JOptionPane 作为您的启动屏幕,同时触发一个线程为您执行加载,当它完成时隐藏带有启动的窗格并显示您的主 UI

【讨论】:

  • 感谢您的回答。这就是我想做的事情,但是我对线程没有太多经验,所以可以在单独的线程中启动启动画面吗?确定何时隐藏启动画面的最佳方法是什么?
  • 您需要在线程上进行加载以检查它何时完成,否则因为您有一个启动图像(不是视频)并且不关心 UI 冻结,您可以显示启动不使用线程的加载和隐藏飞溅
  • 你是对的。我刚刚尝试过,由于一切的性质,我不需要线程。感谢您的帮助 - 这是最简单的方法
猜你喜欢
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
  • 1970-01-01
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多