引言
一张湘绣汇集了湘女累月的心血,我们称之为劳动密集型,一块芯片集聚着众多高新的科技,我们称之为技术密集型,一个实例承载了丰富的知识点,是否可以称为知识密集型呢:)?用一张网捞到更多的鱼是渔夫的追求,通过一个实例学到更多的知识点则是我们这些开发人员的企盼。
本文拟通过一个耳熟能详的指法练习游戏讲解如何在jbuilder 2005下开发applet应用程序,通过本文,你将可以学习到图形用户界面开发、动画处理、声音播放、事件处理、多线程、i/o读写、applet打包、applet安全模型、数字签名、jre插件制作、jdk5.0等方面的知识,并适时介绍笔者一些开发经验。
阅读导航:
指法练习applet游戏介绍
我首先介绍一下这个游戏的界面,这个applet共由11个组件组成,左边的主界面是画布canvas组件,被分隔为10个栏。程序会随机在这些栏中产生下落的字母,用户按下匹配的字母键盘按键后,即为击中。
程序框架
打开jbuilder2005,创建一个工程(file->new...->project->双击project页中的project图标),我们将工程名取为game,然后利用下面的步骤,调用applet向导生成typetrainapplet。
主体程序
游戏界面中每一个下落的字母对应一个字母下落线程dropcharthread的实例,这个线程负责将一个随机的字母在指定的画布栏中从上至下落下。在typetrainapplet内部定义这个线程类,之所以要将其作为成员内部类来定义,是因为这样可以减少类和类之间的通信,降低调用接口的复杂度。
控制游戏
至此,我们已经完成了applet主要功能的开发,剩下的工作是如何通过按钮控制游戏。在编写控制代码之前,先为开始/暂停按钮(jbutton1)和停止按钮(jbutton2) 装饰一下,再编写控制代码。
打包并进行数字签名
浏览器对applet的数字签名支持并没有一个统一的标准,但是一些著名的浏览器如ie和navigator对进行数字签名的applet都可以开放大部分的权限。要对applet进行数据签名必须先将applet类和资源打成一个jar包。
使用插件下载jre
如果客户端游览器还未安装jre或已安装的jre版本低于你applet的要求,或浏览器自带的jre不是sun公司标准的applet,你applet都可能无法正常运行。可以通过jdk自带的htmlconverter.exe工具对带applet的html文件进行转换。
总结
我们讲述了如何在jbuilder开发一个简单的applet指法练习游戏程序的过程,虽然这个游戏在功能上属于不敢见公婆型,但它涵盖了applet开发的大部分内容和技巧。我们特在applet中设置了一个不安全的功能:在客户机器中保存文件,浏览器事先毫不留情地阻截了它,尔后我们通过数字签名技术晓之以情,动之以理"说服"了浏览器取消安全限制。
大千世界,纷繁复杂,客户端浏览器的jre版本和厂家百家争鸣,百花齐放,为了使我们的applet能够在sun标准的jre1.5.0的版本上运行,我们动用了jdk自带的转换器对原html进行转换,这样标准的jer1.5.0将作为插件的形式下载并安装以支持这个难伺候applet。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器