我看到一些使用Welcome!/“splash”页面加载的Swing应用程序(如Eclipse)。这是什么样的Swing组件?它有点像网页(像老的<imagemap>
s!)嵌入Swing应用程序中,非常酷。用于“飞溅”页面的Swing组件?
回答
您可以使用图像编辑器设计启动画面,如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
迈克 - 感谢您的伟大建议!但Eclipse中的启动页面上有可点击的按钮/链接,这些按钮/链接将带您进入GUI的不同部分。我知道Eclipse是SWT(不是Swing!)的基础,但Swing是否支持像这样的JLabel图像的想法,这将允许可点击/交互式部分? – IAmYourFaja 2012-02-24 22:55:14
@AdamTannon对不起,我以为你的意思是Eclipse启动时显示的启动画面(请参阅我的答案中的屏幕截图)。我认为你所说的屏幕是这个“欢迎”屏幕。你可以通过帮助(菜单) - >欢迎来看到它。这个屏幕更复杂,我认为(至少在Swing中)需要一些自定义编码。 – 2012-02-24 23:00:07
很酷。我不知道在Java 1.6中引入的Swing类[SplashScreen](http://docs.oracle.com/javase/7/docs/api/java/awt/SplashScreen.html)。谢谢。 – 2012-02-24 23:15:52
它真的很容易去做。只需在清单文件中创建一个指向您jar文件中图像资源的启动画面条目。
例如
SplashScreen-Image: resources/splash.png
该图像甚至可以具有透明度,所以你可以使它看起来是非矩形的。
- 1. “飞溅页面”NOT index.asp
- 2. 中飞溅页
- 3. iOS 5飞溅页面转换
- 4. Wifidog不显示飞溅页面
- 5. 飞溅页面:电子邮件收集(Rails 3.2)
- 6. Scrapy,飞溅的Tor
- 7. 社交引擎网站的飞溅页面
- 8. 使用scrapyjs抓取飞溅
- 9. MonoTouch飞溅推子
- 10. 尝试Scrapy +飞溅
- 11. 用户控件WPF飞溅屏幕
- 12. WPF飞溅屏幕,如何使飞溅屏幕显示更长
- 13. Ionic2飞溅屏幕不显示飞溅图标
- 14. 如何摆脱铁路路由器飞溅页面
- 15. Paper.js未来的飞溅
- 16. 飞溅屏幕上的Videoview
- 17. wxPython中的动画飞溅
- 18. WPF使用ProgressBar的飞溅屏幕
- 19. 我的应用与飞溅负载
- 20. Scrapy飞溅设置:“SPLASH_URL”
- 21. 点击JS链接飞溅
- 22. 飞溅后NullPointer异常
- 23. 飞溅内存限制(scrapy)
- 24. 问题与Scrapy和飞溅
- 25. 完成飞溅活动?
- 26. 在飞溅期间UIAlert
- 27. Durandal SPA飞溅百分比
- 28. Scrapy飞溅多次点击
- 29. 如何scrapy从飞溅
- 30. 为Default.png飞溅屏幕(iphone)
Eclipse不是Swing应用程序(它建立在SWT图形框架上)。 – Sinjo 2012-02-24 22:45:33