java - "splash"页面使用了 Swing 组件?

标签 java swing splash-screen

我看到一些 Swing 应用程序(如 Eclipse)加载了一个 Welcome!/"splash"页面。这是什么样的 Swing 组件?它有点像嵌入 Swing 应用程序中的网页(就像旧的 <imagemap> 一样!),非常酷。

最佳答案

您可以使用图像编辑器(例如 Photoshop 或 GIMP)来设计启动屏幕。以 Java 支持的格式保存图像,例如 JPG、GIF 或 PNG。以适合上网本和投影仪等低分辨率设备的分辨率设计启动屏幕。

例如Eclipse 初始屏幕约为 450x300 像素:

enter image description here

要显示图像,您可以使用 JDialog,其边框和关闭按钮已通过 setUndecorated(true) 隐藏。 JDialog 可以包含单个 JLabel。调整 JDialog 和 JLabel 的大小以能够显示整个图像。 JLabel 的 icon 属性应设置为启动屏幕图像。

您可以使用 Swing's Timer class 在固定的时间内显示启动屏幕。 。考虑允许用户选择禁用启动屏幕,这样他们就不必每次启动程序时都浪费时间观看它。

或者,您可以考虑在应用程序完成初始化后立即隐藏启动屏幕,而不是使用计时器在固定的时间内显示启动屏幕。 “初始化应用程序”所涉及的内容特定于您的应用程序。这就是 Eclipse 使用的方法(它的启动屏幕甚至有一个进度条)。

<小时/>

您的问题实际上似乎是关于 Eclipse“欢迎屏幕”(参见下面的屏幕截图),而不是 Eclipse“启动屏幕”。欢迎屏幕确实包含可点击区域。 Java 显示 HTML 内容的能力有限。请参阅http://docs.oracle.com/javase/tutorial/uiswing/components/html.html了解一些细节。 Java 对 HTML 的内置支持非常有限,因此它可能无法满足您的需求。以下指南讨论了如何使用只读 JEditorPane 显示 HTML 内容,以及捕获超链接单击事件以执行自定义操作: http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html

enter image description here

关于java - "splash"页面使用了 Swing 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439058/

相关文章:

java - 鼠标监听器界面和绘画

java - JOptionPane : parentComponent does not have a valid parent

java - 泄露的窗口 com.android.internal.policy.impl

iOS 7 黑色飞溅错误和应用程序启动大小

java - 自定义 Java 初始屏幕 "freezes",直到整个应用程序加载完毕

java - Spring-Data-Redis 与 Jedis putIfAbsent 用于分布式锁 - 不正确的行为

java - 如何更新MAP中的值之一

java - Android MediaPlayer 可以播放压缩文件中的音频吗?

java - 日志在 java 文件中不起作用。但在 servlet 内部工作

java - 无需 winapi 将项目添加到 Windows 系统菜单