JAVA 闪屏 SplashScreen 程序启动画面 浅谈
来源:互联网 发布:手机易语言编程软件 编辑:程序博客网 时间:2024/04/30 23:32
最近做一个JAVA小程序,启动的时候总感觉有些慢,想起eclipse或netbeans启动的时候都有个启动画面,不如自己也做个吧。
然后就开始查找相关资料。
SplashScreen
在 Java 虚拟机 (JVM) 启动之前,可以在应用程序启动时创建闪现屏幕。闪现屏幕显示为一个包含图像的未装饰窗口。可以使用 GIF、JPEG 和 PNG 文件作为图像。支持动画(用于 GIF)和透明度(用于 GIF、PNG 文件)。窗口位于屏幕的中心(在多监视器系统中的位置没有指定——它与平台和实现有关)。一旦 Swing/AWT 显示第一个窗口,此窗口就会自动关闭(也可以使用 Java API 手动关闭窗口,参见以下内容)。1.6的API里提供了这个功能。
显示本机闪现屏幕有两种方式:
- 如果是用命令行或快捷方式运行应用程序,则使用 "-splash:"Java 应用程序启动器选项来显示闪现屏幕。
例如:java -splash:filename.gif Test
- 如果应用程序被打包在 jar 文件中,可以使用清单文件中的 "SplashScreen-Image" 选项来显示闪现屏幕。将图像放在 jar 归档文件中并用选项指定路径。路径不应以斜杠开头。
例如,在manifest.mf
文件中:Manifest-Version: 1.0Main-Class:TestSplashScreen-Image:filename.gif
命令行接口的优先级高于清单设置。
经过我测试,用第二种方法比较实际一些,这里分享一下代码:
SplashScreen splash = SplashScreen.getSplashScreen();//创建闪屏对象if (splash == null) {System.out.println("没有指定闪屏图片");//JOptionPane.showMessageDialog(null, "没有找到闪屏图");}Graphics2D g2 = splash.createGraphics();//绘制闪屏Rectangle bounds = splash.getBounds();//返回闪屏边界splash.update();
把这些代码加到程序入口class的main方法最前边执行。但是光有这个代码是不行的,还需要一个图片,而且还要 manifest.mf清单文件中设置命令。
1.首先设置 manifest.mf 清单中的命令,其实很简单,用RAR相关软件直接打开.jar包,然后编辑 manifest.mf文件,写入代码SplashScreen-Image:你的图片.gif。然后保存。2.图片要放到哪里呢?是不是和JAR包放到同一个目录?我一开始也是这样放的,但经测试是行不通的。应该用rar软件打开.jar文件,然后把图片托到根目录里,当然我这个目录是和现在的代码相对应的,如果你修改了目录,请放到对应的目录里。经过以上两步设置就可以实现了。
问题:
关于打包jar,这个我测试了一下用netbeans 可以直接创建相关文件在src class文件夹里,然后打包可以实现不用rar文件再去修改。
eclipse需要先打包然后再用rar软件打开再去修改。
无论两者哪个IDE,直接测试都是无效果的。关于加载进度条,如果上边的功能实现,一般小程序做个GIF动画加载效果就可以了,超大型的,你可以考虑动态载进度了,这个本文不再研究。
有问题请留言
0 0
- JAVA 闪屏 SplashScreen 程序启动画面 浅谈
- 程序启动画面——SplashScreen
- wxPython:启动画面SplashScreen介绍
- java程序启动画面
- appframework和phongGap启动画面(splashscreen)--拒绝启动黑屏
- VC++2010工程中加入SplashScreen的启动画面
- 程序启动画面
- VC程序启动画面
- vc 程序启动画面
- VC程序启动画面
- 程序启动画面
- Qt_程序启动画面
- android程序启动画面
- vc 程序启动画面
- 程序启动画面 QSplashScreen
- Qt程序启动画面
- [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置
- cordova SplashScreen插件在android上退出app后不再显示启动画面的问题
- objective-c快速入门教程(一)
- New Mission Next Month
- NLTK 学习笔记(1)
- 第6章 汇总和分组数据
- 数据结构与算法学习之路:背包问题的贪心算法和动态规划算法
- JAVA 闪屏 SplashScreen 程序启动画面 浅谈
- MATLAB机器学习Ng实战(一)
- POJ 1013 解题报告
- 好气人!周末旅游不开心
- hdu 5123 who is the best?(Bestcoder Round #20)
- UVA - 230 Borrowers
- VC6.0中如何改变对话框的背景颜色
- 约瑟夫环的递推解法
- 实体店采用eBay技术,打造智能试衣间