Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16493204
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:47:13

下载本文示例代码
  下载本文源代码  提要:本文将以具体的实例向你展示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 -versionjava 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属性: ... ...  为了看清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屏幕。共2页。 1 2 :   下载本文源代码  提要:本文将以具体的实例向你展示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 -versionjava 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属性: ... ...  为了看清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屏幕。共2页。 1 2 : 下载本文示例代码


用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发用Java SE 6.0实现高质量桌面集成开发
阅读(187) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~