2022年创建Java小程序 .pdf

上传人:C****o 文档编号:33672157 上传时间:2022-08-12 格式:PDF 页数:8 大小:49.32KB
返回 下载 相关 举报
2022年创建Java小程序 .pdf_第1页
第1页 / 共8页
2022年创建Java小程序 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年创建Java小程序 .pdf》由会员分享,可在线阅读,更多相关《2022年创建Java小程序 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、创建 Java 小程序Java小程序 applet 是指一种用Java语言创建的、 被嵌入 Web 页中用来产生特殊页面效果的小程序。1 小应用程序执行流程小应用程序必须继承Applet 或 Japplet 类,并有一定的执行流程:init() start() paint() stop() destroy() 在 Web 浏览器调用init() 方法初始化一个小应用程序后,Web 浏览器就调用start()方法,当浏览器需要重画小应用程序时就调用paint()方法。如果Web 用户离开了显示小应用程序的 Web 页面,该小应用程序将被stop()挂起,可以调用start()方法重启动被stop

2、()方法挂起的该小应用程序。当小应用程序终止时,可以用destroy()方法清除小应用程序占用的资源2 浏览小应用程序在编好小应用程序后,要想在浏览器中看到结果,必经过以下步骤:1)编译(设程序名为AppletTest)javac AppletTest.java 2)编写 html 文件最简单的html 文件: test.html MyApp Example1 3)浏览 html 文件使用 jdk 提供的 appletviewer 浏览appletviewer test.html 使用 IE、Communicator 等浏览器浏览在地址栏内输入该文件的路径和文件名,如:d:jsourcetes

3、t.html ,如果将该小应用程序和html 文件放在Web 服务器上,就可以将其发布到网上。4.Java动画线程需要暂时中断时, 要使用 Java线程。 要创建 Java线程, 要继承 Thread类或实现Runnable 接口。因小应用程序已继承Applet 类或 Japplet 类,而 Java 语言为了语言的简洁和稳定性,禁止多重继承,因此一般使用Runnable 接口。new Thread() start() run() stop() destroy() new 创建一个线程,然后激活该线程的start()方法,这将导致对方法run()的调用。当线程暂停时,将执行stop()方法,而

4、当最后线程结束时,则调用destroy()方法。sleep()方法, 使线程暂时进入休眠状态,等候其它线程来唤醒,或休眠时间结束。5模拟物理现象一例“导弹打飞机问题”为例介绍如何用Java动画小应用程序来模拟物理现象。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 用 Java语言来模拟物理现象,一般需要经过以下几个步骤:1)将物理现象转化为数学公式来描述2)将数学公式用Java 中的数学函数来表示3)根据需要,合理安排Appl

5、et 各方法所需执行的代码4)如果在Applet 动画中需要接受键盘或鼠标事件,在其中加入Java线程在此不再详述, 以下用程序代码及程序注释来说明后三步。1)主程序( Example.java)import java.awt.event.*;/ 以下 import 导入 Java API import java.lang.Math.*; import java.awt.*; import java.applet.*; public class Example extends Applet implements Runnable /Example 继承 Applet 类,并实现了Runnabl

6、e 接口double a,X0,Y0,X,Y ,x,y,dX; int i,j; Thread thisThread; Color planeColor; public void init() /Applet 初始化X0=10;Y0=20;i=0; planeColor=Color.white; this.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent e) / 接受鼠标事件,可暂停或启动线程if (thisThread.isAlive() stop(); else 名师资料总结 - - -精品资料

7、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - start(); ); public void start() /Applet 的 start()方法,新建线程,并启动线程thisThread=new Thread(this); thisThread.start(); public void stop() / Applet 的 stop()方法,暂停线程thisThread.stop(); public void run() / 线程的 run()方法whil

8、e(true) / 循环以达到动画效果repaint();/ 重画动画,将调用paint()方法try thisThread.sleep(100);/ 控制动画速度catch(Exception e) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - public void paint(Graphics g) pubclass user=new pubclass(g);/调用另一个类画飞机和打中场面g.setColor(Color

9、.blue); g.fillRect(0,0,700,480); g.setColor(Color.yellow); g.drawString( 逃逸与追踪问题,200,50); x=100+2.*i+Math.random(); y=400-0.02*i*i+Math.random(); dX=0.05*i; Y=Y0+(Y0-y)*dX/(X0-x); if(X02)&(Math.abs(Y-y)2) g.setColor(planeColor); user.wood_b(int)x,(int)y,20,3.,0); user.wood_b(int)(10+x),(int)(y-3),10

10、,1.5,120); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - user.wood_b(int)(10+x),(int)y,10,1.5,240.); g.setColor(Color.red); g.fillOval(int)X,(int)Y,3,3); g.setColor(Color.white); g.drawOval(int)X,(int)Y,3,3); if(Math.abs(X-x)2)&(Math.abs(

11、Y-y)3) g.setColor(Color.red); planeColor=Color.red; user.coordc(int)X,(int)Y,30,0,30,Color.red); user.coordc(int)X,(int)Y,30,60,30,Color.red); user.coordc(int)X,(int)Y,30,120,30,Color.red); user.coordc(int)X,(int)Y,30,180,30,Color.red); user.coordc(int)X,(int)Y,30,240,30,Color.red); user.coordc(int)

12、X,(int)Y,30,300,30,Color.red); / 该 if 是如果符合条件则出现打中场面i+=1; 2)主程序中调用的类pubclass.java 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - import java.awt.*; import java.applet.*; public class pubclass Graphics g; public pubclass(Graphics g1) g=g1;

13、public void coordc(int x,int y,double l,double a,double u,Color c) / 画箭头方法,用来模拟打中场面int i; double p,q,x1,y1,x2,x3,y3,y2,b,L; a=(a-0.01)*Math.PI/180.0; b=0.197395559; L=10.19803903; x1=x+l*Math.cos(a); y1=y-l*Math.sin(a); x2=x1-L*Math.cos(b-a); y2=y1-L*Math.sin(b-a); x3=x1-L*Math.cos(b+a); y3=y1+L*Mat

14、h.sin(b+a); g.setColor(c); g.drawLine(x,y,(int)x1,(int)y1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - if(l11.0) return; g.drawLine(int)x1,(int)y1,(int)x2,(int)y2); g.drawLine(int)x2,(int)y2,(int)x3,(int)y3); g.drawLine(int)x3,(int)y3,

15、(int)x2,(int)y2); g.drawLine(int)x2,(int)y2,(int)x1,(int)y1); for(i=0;i1/u-1;i+) p=x+u*Math.cos(a); q=y-u*Math.sin(a); g.drawLine(int)p,(int)q,(int)(p-l*Math.sin(a), (int)(q-l*Math.sin(a); x=(int)p;y=(int)q; public void wood_b(int x,int y,double L,double H,double a) / 画飞机double b=a*3.1415926/180.0;

16、double s=Math.sin(b); double c=Math.cos(b); double A=L*s; double B=L*c; double C=H*s; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - double D=H*c; g.drawLine(x,y,x+(int)B,y-(int)A); g.drawLine(x+(int)B,y-(int)A,x+(int)B-(int)C,y-(int)A-(int)D); g.drawLine(x+(int)B-(int)C,y-(int)A-(int)D,x-(int)C,y-(int)D); g.drawLine(x-(int)C,y-(int)D,x,y); JDK1.2 以上和 IE5.0 以上版本运行通过)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁