java 闪屏效果_JAVA 闪屏 SplashScreen 程序启动画面 浅谈

最近做一个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.0

Main-Class:Test

SplashScreen-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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值