快速业务通道

JBuilder 2005开发Applet游戏全接触 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
ode=0时,游戏原处于结束或未开始的状态,表示用户执行开始游戏的命令。开始一个新游戏的命令,将统计数据归0,根据画布当前的宽度和栏数计算出每栏的宽度,实例化一个产生器线程,并切换按钮的图标为暂停图标,将停止按钮置为激活态。

·当statusCode=1时,游戏原处于运行态,表示用户执行暂停的命令。更改状态并更换按钮的图标。

·当statusCode=2时,游戏原处于暂停态,表示用户执行暂停后继续游戏的命令。更改状态并更换按钮图标,通过canvas对象通知所有暂停的线程。

其次,给停止按钮jButton2生成以下的事件响应代码:

代码清单 9 停止游戏的事件处理代码

1. … 2. public class TypeTrainApplet extends JApplet { 3.  … 4.  public void jButton2_actionPerformed(ActionEvent e) { 5.   statusCode = 0; 6.   synchronized (canvas) { 7.    canvas.notifyAll(); 8.   } 9.   jButton2.setEnabled(false); 10.   jButton1.setIcon(startIcon); 11.  } 12.  … 13. }

首先更改游戏的状态,在第6~7行向所有处于等待状态的线程发出一个通知,防止线程"睡死"的情况。线程在循环体的判断语句中判断出statusCode为0后将纷纷退出,所有线程结束。而后,将按钮置为非激活状并将开始/暂停按钮切换为开始的图标。

JBuilder 2005开发Applet游戏全接触(11)

时间:2010-04-27 天极

3、保存游戏统计数据

为了演示通过数字签名技术突破Applet安全限制的方法,我们特地设计了一个功能:将游戏的统计数字写入到客户端机器的D:\result.txt文件中。在UI设计界面中双击jButton3的按钮,为"保存"按钮添加如下的事件处理方法:

代码清单 10 保存按钮事件处理方法

1. … 2. import java.io.*; 3. public class TypeTrainApplet extends JApplet { 4.  … 5.  public void jButton3_actionPerformed(ActionEvent e) { 6.   FileWriter fw = null; 7.   try { 8.    File file = new File("d:\\result.txt"); 9.    fw = new FileWriter(file); 10.    fw.write("总数:" + totalCount + "\n"); 11.    fw.write("正确数:" + rightCount + "\n"); 12.    fw.write("失败数:" + errorCount); 13.    fw.flush(); 14.    JOptionPane.showMessageDialog(this, "成绩成功保存到d:\result.txt中", 15.              "信息",JOptionPane.OK_OPTION); 16.    } catch (IOException ex) { 17.     ex.printStackTrace(); 18.    } finally { 19.     try { 20.      if (fw != null) { 21.       fw.close(); 22.      } 23.     } catch (IOException ex1) { 24.      ex1.printStackTrace(); 25.     } 26.    } 27.   } 28.   … 29.  }

至此,我们就完成了整个游戏的开发过程,Rebuild事件工程,在<工程根目录>/classes文件夹下双击打开Applet向导为我们所生成的TypeTrainApplet.html网页,假如你机器已经安装了JRE,我们的指法练习游戏将在网页中打开,点击开始按钮玩伙自己亲手制作的游戏,如下图所示:

JBuilder 2005开发Applet游戏全接触 - 编程入门网

图 13 在网页中运行指法练习Applet游戏

点击停止按钮停止游戏,试着点击"保存"按钮,将统计数据保存到D:\result.txt中,你将会在Java控制台中看到一个安全异常信息,如下图所示:

JBuilder 2005开发Applet游戏全接触 - 编程入门网

图 14 Applet的功能被安全管理器限制

因为一般的Applet运行在称为"沙盒"的安全模块下,Applet虽然在客户端机器上运行,但至多只是一个&qu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号