全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言是目前为止最新、推广最快的一种新型面向对象程序设计语言,由于Java具有面向对象、平台无关性、稳固性与安全性、多线程等特性,从而为用户提供了一个良好的程序设计环境。它利用面向对象方法,提供了一组用于图形用户界面(GUI)开发的类,这些类包含在抽象窗口工具集(Absact Windows Toolkit,简称AWT)中。利用这些类,我们可以非常方便地设计出与平台无关、界面友好的应用程序。但由于Java目前还不支持汉字,因此我们选用支持Java语言的中文Windows 95平台来设计汉字动画程序。下面即是一个简单的示例程序。 我们知道,Java设计的程序分为两种:一类是由Java解释器解释执行的Java应用;另一类是必须嵌入到Web页中,由Java兼容浏览器(如:Sun公司的Hotjava、Netscape的Navigator)来控制执行的JavaApplet;下面的程序即是一个必须嵌入到Web页中的Applet。Applet有其固定的程序框架。它要求在主事件中至少实现下列五种方法之一: 初始化方法init():创建对象、设置初始状态、参数等 启动方法start():启动Applet开始运行 停止方法stop():停止Applet运行 删除方法desoy():杀死Applet所有正在运行的线程,释放对象 绘制方法paint():在屏幕上显示信息 在本例Applet中,实现了start()、stop和paint()三种方法。 在实际应用中,应用程序往往需要同时处理多个事件,如,一方面进行图形显示,另一方面接收用户输入。在不支持多线程的情况下,我们只能依次完成每个事件。在支持多线程的Java中,就可以创建一个线程专门用来进行图形显示,而在主事件中接收用户输入,两者并发执行。创建线程必须实现线程类(Thread)的run()方法,运行系统通过调用run()方法来实现线程的行为。下面,我们来看例子程序myAnimatorjava。在Java中,没有类就无法运行程序。我们建立了一个Applet类的子类myAnimator,并实现了Runnable界面。实现Runnable界面的目的是为了创建线程。线程体定义在run()方法中,循环地调用repaint()方法,然后调用sleep()方法使线程睡眠delayTime时间。睡眠时间到,线程又被唤醒,再次执行循环体。repaint()方法调用了paint()方法。在paint()方法中,先设置字型及大小,再根据变量flag值为0、1、2、3,设置颜色为红、绿、黄、蓝四种颜色之一。调用draw?Sing()方法在屏幕上输出汉字串。然后使flag值加一。若falg大于3,把flag置为0。程序开始执行时,先启动start()方法,在start()方法中启动线程,在屏幕上以红、绿、黄、蓝四种颜色循环显示汉字串,实现了动画显示。 为了运行这个Applet,必须把它嵌入到Web页中。我们编写了一个简单的HTML文件myAnimatorhtml。CODE属性指定Applet的文件名为myAnimatorclass。WIDTH和HEIGHT分别指定了Applet的显示宽度和高度。然后在中文Windows95的DOS模式下,用如下命令来编译: c:hotjavabinjavac myAnimatorjava 编译通过后,生成myAnimatorclass字节码文件。这时即可用浏览Applet的工具appletviewer来浏览该HTML,命令如下: c:hotjavabinappletviewer myAnimatorhtml 需要注意的一点是,在支持长文件名的Windows95下,保留大小写但不区分大小写。而Java是区分大小写的,而且文件名需与类名相同。 源程序myAnimatorjava 汉字动画APPLET import javaawt :Import java.applet.*; public class myAnimator extends javaappletApplet implements Runnable int delayTime=100;线程睡眠时间 int flag=0; Thread animator;定义线程 Font f=newFont(TimesRoman,FontBOLD,48);创建字型类实例 String name=汉字动画演示; public void start() animator=new Thread(this);创建线程 animatorstart();启动线程 public void run()线程体 while(animator!=null)如果线程已创建,循环执行 repaint();向屏幕输出 y Threadsleep(delayTime);线程睡眠 catch(InterruptedExceptione) break; public void stop() animatorstop();停止线程 animator=null; public void paint(Graphics g) gsetFont(f);设置字型及大小 switch(flag) case0:gsetColor(Colorred); break; case1:gsetColor(Colorgreen); break; case2:gsetColor(Coloryellow); break; case3:gsetColor(Colorblue); break; gdrawString(thi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东韶关市乐昌市九峰镇遑洞村基层公共服务站系统操作员招聘1人参考题库及答案详解(必刷)
- 2026年鹤壁能源化工职业学院单招职业倾向性测试题库附答案
- 2025年辽宁省省直事业单位招聘考试真题试卷 公共基础知识及答案详解1套
- 2026年济南工程职业技术学院单招职业倾向性测试题库含答案
- 2026年江苏城乡建设职业学院单招职业倾向性测试必刷测试卷带答案
- 2026年上海大学单招职业适应性测试必刷测试卷及答案1套
- 2026年贵阳幼儿师范高等专科学校单招职业技能测试必刷测试卷附答案
- 2026年重庆科技大学单招综合素质考试题库及答案1套
- 2025年湖南省事业单位招聘考试模拟试卷 公共某础知识(二)带答案详解
- 2025年通化县事业单位公开招聘工作人员(含专项招聘高校毕业生) (1号)(71人)参考题库带答案详解
- (人教A版)必修一高一数学上册期中模拟卷01(解析版)
- 铁路工务专业毕业论文
- ZDJ9转辙机及外锁闭安装装置施工工艺工法
- 2025-2026学年教科版(2024)小学科学三年级上册(全册)每课教学反思
- 2024年江西省公务员考试行测真题及1套完整答案详解
- 食品生产企业安全风险管控清单
- 果蔬贮藏与加工技术课件
- 企业风险控制管理办法
- DB43∕T 3020-2024 不动产登记业务规范
- 2025年压力容器设计人员考核试题与答案
- 2025年龙江森林工业集团有限公司所属事业单位招聘考试试题(含答案)
评论
0/150
提交评论