我看到一些使用Welcome!/“splash”页面加载的Swing应用程序(如Eclipse)。这是什么样的Swing组件?它有点像嵌入在Swing应用程序中的网页(就像旧版<imagemap>
!),非常酷。
答案 0 :(得分:4)
您可以使用图像编辑器(如Photoshop或GIMP)设计启动画面。以Java支持的格式保存图像,如JPG,GIF或PNG。以分辨率设计启动画面,该分辨率适用于上网本和投影仪等低分辨率设备。
E.g。 Eclipse启动画面大约是450x300像素:
要显示图像,您可以使用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
答案 1 :(得分:3)
答案 2 :(得分:2)
这很容易做到。只需在清单文件中创建一个指向jar文件中图像资源的启动画面条目。
e.g。
SplashScreen-Image: resources/splash.png
图像甚至可以具有透明度,因此您可以使其看起来像非矩形。