注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 程序开发 > Java 内容正文:用Java SE 6.0实现高质量桌面集成开发

用Java SE 6.0实现高质量桌面集成开发

发布时间:2006-04-19 12:07:04 来源:天极开发 网友评论 0 条
  提要:本文将以具体的实例向你展示Java SE 6在桌面开发中所提供的一系列优秀特征。

  一、 引言

  随着Java SE 6 Beta的发行,Java开发者再也不需要自己去实现Java本机接口(JNI)便可以在其应用程序中加入桌面产品所具有的特征。这些桌面集成特征现在已成为内核的一个组成部分。

  最新的Java标准版本6.0(代码名为Mustang)将在功能上进行一系列的改进--开发者们能够方便地用Java处理安全,JMX,操作系统文件,国际化和桌面开发等一系列问题。Sun在开发这个版本的过程中表现出非常积极的合作态度。他们通过JSR 270仔细地倾听开发者的意见并且在2006年2月早些时候就发行了所有的Java SE源码和二进制代码。看来,Sun正在倾力打造全新的桌面开发工具。

  相对于以前的Java版本,Mustang的桌面集成能力特别受Java开发者欢迎。这些新特征把很多有趣的功能加入到Java桌面应用程序的开发中。以前,开发例如Internet Explorer,系统托盘和邮件客户端等Java时,开发者必须在创建如Jtray和SysTray等Java本机接口(JNI)方面大伤脑筋。尽管这种"补丁"方案能够实现既定目的,但是绝大部分的Java开发者都非常盼望这些特征成为核心Java平台的一部分。

  本文将详细分析一个示例应用程序GoMustang的创建过程。从中,我将向你展示如何使用Java SE 6在应用程序启动时显示一个Splash屏幕,怎样创建系统托盘,以及怎样从Java内部启动本机桌面互联网浏览器。

  注意,为调试本文中的示例程序,你需要安装:Java Standard Edition 6 Beta和Apache Ant 1.6.5。

  二、 开发环境

  (一) 准备Java SE 6 Beta

  首先,你要从Sun的Java站点下载Java SE 6 Beta。因为Sun已经确定将在2006年的秋天正式发行Java SE 6,而且据JSR 270专家组的建议其中的一些特征还将会作适当的改变;因此,目前在你的桌面开发中试用Mustang正是时候。

  估计,最终本文中所描述的特征不会出现多大变化;所以你可以放心使用JDK,JRE等的最新下载版本。

  首先,请确保你的桌面平台被支持。我在Windows XP上开发和测试了本文的示例应用程序,且毫无问题。

  其次,还要确保你的计算机的Windows系统属性中的环境变量指向Java SE 6.0 JDK。我把JAVA_HOME环境变量设置为JAVA_HOME=C:/Program Files/Java/jdk1.6.0。

  一旦安装完成,你应该立即检查Java JRE的版本。如果一切顺利,应该显示类似下面的一条消息:

C:/java/mustang> java -version
java version "1.6.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-beta-b59g)
Java HotSpot(TM) Client VM (build 1.6.0-beta-b59g,mixed mode,sharing)

  (二) 准备Ant

  在本文中,你将使用Apache Ant来构建示例应用程序。因此,如果你还没有这个工具,你可以从Apache网站下载并把它安装到你的计算机上。

  然后,你可以使用Ant属性来检查Ant Java版本。下列的例子显示了一个不正确的Java版本:

${ant.java.version}

  这是因为Ant内置的ant.java.version系统属性被设计仅拥有1.1,1.2,1.3,1.4和1.5这几个值。估计,Ant开发小组可能很快就会更新这个属性以包含1.6;但是,当你想自己实现这一点时要特别小心。

  为了慎重起见,你可以使用-debug参数来运行Ant。如果显示如下内容,则说明Ant实际上在使用一个1.6版本的JRE:

>>
Detected Java version: 1.5 in: C:/Program Files/Java/jdk1.6.0/jre
<<

  (三) 安装你的开发环境

  接下来,安装你的开发环境。为此,最简单的方法是下载本文相应的源码并解压。如果你把ZIP文件解压到你的C:/路径下,那么你会看到如下结构的文件和目录:

c:/mustang/
|_build.xml
+_src

  后面,你将使用Ant构建文件build.xml来实现复制,编译,构建,打包和运行GoMustang示例应用程序。该文件包含下列几个关键的Ant目标:

[init]
[clean]
[compile]
[dist]
[run]

  这里,[init]目标负责建立文件夹结构并且把文件拷贝到build文件夹;[compile]实现编译,而[dist]通过使用一个Manifest文件来创建一个JAR(后面将详细讨论)。[run]目标负责启动你的应用程序,而[clean]将帮助你首先删除所有的由Ant任务所创建的文件和目录,然后从一个完全干净的环境开始下面的任务。

  src目录包含3个文件:一个GoMustang.java(源码文件)和两个GIF文件(gomustang-splash.gif用作Splash屏幕,gomustang.gif用作系统托盘中的图标)。

  现在,你已经打好了基础。下面,我们开始创建你的应用程序的Splash屏幕。

  三、 Splash屏幕

  对基于桌面的应用程序来说,Splash屏幕一直在应用程序的启动过程中起着关键作用。一个醒目的Splash屏幕能使用户热切地盼望应用程序的启动--通过显示行销广告,特定的法律条文,专业图象,等等。同时,它还提供给应用程序一定的时间周期以装载要求的库文件。
在Java应用程序开发中,实现Splash屏幕一直是一种挑战性编程,因为在JVM启动和所有要求的JRE和应用程序库被装载前程序无法取得控制权。而等到一个Java应用程序得到控制线程的机会时,显示一个Splash屏幕已经太晚了。

  Java SE 6甚至允许一个应用程序在JVM启动前就可以显示一个Splash屏幕。这项功能被构建于Java应用程序启动器中--由它负责在一个未经修饰的窗口中显示一幅图像。它允许使用GIF,PNG或JPEG图象,可以是透明性或半透明的,并且可以存在动画效果。而且,Java SE 6发行中还带有一个SplashScreen类--它允许一旦应用程序控制线程,该程序就可以操作Splash屏幕。

  你可以用下面两种方式之一来启动一个Splash屏幕:

  1. 在一个JAR的Manifest文件中指定一个具体的SplashScreen-Image属性;

  2. 使用一个命令行-splash参数。

  (一) 使用JAR的Manifest属性

  本文下载源码中的JAR文件包含了一个gomustang-splash.gif文件(此文件在应用程序启动时显示一个Splash屏幕)和编译类文件GoMustang.class。这个JAR文件的Manifest包含定义main()方法的类的名字和SplashScreen-Image属性(它指向gomustang-splash.gif文件)。

  下面的列表展示了Ant build.xml JAR任务的内容--其中指定了main-class和SplashScreen-Image属性:

...
<jar jarfile="${dist}/GoMustang.jar" basedir="${build}">
<manifest>
<attribute name="Main-Class" value="GoMustang"/>
<attribute name="SplashScreen-Image" value="gomustang-splash.gif"/>
</manifest>
</jar>
...

  为了看清Splash屏幕的真正运行,你可以通过在命令提示符上输入ant run来执行build.xml的[run]目标。因该程序很小,所以Java应用程序会在人眼能看见它之前完成打开和关闭操作。为此,你可以使用暂停3秒的编码小技巧。

  一旦运行run目标,Ant应该会输出如图1所示的控制台跟踪信息,然后暂停3秒,此间用户会看到Splash屏幕中的gomustang-splash.gif图片。


图1.Ant暂停

  3秒后,Ant脚本完成应用程序的创建,见图2。


图2.Ant脚本完成系统托盘的创建

  一个图标将在系统托盘中被创建,由图3所示。


图3.GoMustang图标

  (二) 使用命令行-splash参数

  显示一个splash屏幕的第二种方法是,使用-splash命令行参数传递splash屏幕文件名,如下所示

C:/mustang/build> java -splash:gomustang-splash.gif GoMustang

  注意,为了使该命令正常运行,你需要从c:/mustang/build目录(编译class文件和splash屏幕GIF文件所在的位置)下使用Java的命令行方式。这些文件都是由Ant中的build.xml文件中的任务所创建。

  一旦应用程序获得一个线程的存取权限,你就可以使用java.awt.SplashScreen类通过编程存取Splash屏幕。这是一个singleton类,它提供专门的函数来改变Splash屏幕图像,检索Splash屏幕的大小和界限,操作有关图形对象,并最后关闭Splash屏幕。
相关文章
  • 如何用Procexp和Autoruns识别并删除木马
  • 用百度硬盘搜索管理数码照片详细教程
  • 玩家必知 Windows所有系统文件的用途
  • 解析用图片的URL引用提高网站排名的方法
  • [视频]Freehand MX图层:使用样式
【评论】【收藏本文】【打印】【关闭】
上一篇文章:从Java应用程序动态生成PDF文件
下一篇文章:Java应用中的反模式开发介绍
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Java控件设计入门
Java控件设计入门
推荐阅讯
  • 用Java开发3D游戏之创建场景
  • Java技巧:用Java获得IP地址
  • 理解Java Swing中的Accelerator Key
  • Java多线程程序设计入门
  • J2ME游戏开发中时钟的简单实现
  • JAVA几个常见错误简析(上)
  • 为Java应用程序添加退出事件响应
  • Java设计模式之迭代器模式
  • 制作Windows mobile下软件安装包
  • 用Java实现多线程服务器程序
阅读排行
  • 1.Java连接SQL Server 2000
  • 2.Java文件操作详解
  • 3.Java控件设计入门
  • 4.Java操作Excel电子表格
  • 5.Java: JNI完全手册
  • 6.Java命令行简介
  • 7.开发J2EE应用应遵循的几点原则
  • 8.Servlet与Javabean配置
  • 9.Java规则引擎与其API应用详解
  • 10.CLASSPATH详解
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载