JAVA_applet应用实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实现接口中的方法,以使得控件能够响应 用户事件
15 16 17 18 19 20 21
public void actionPerformed(ActionEvent e) { if(btn.getLabel()=="Start") btn.setLabel("Stop"); // 设置按钮上方的文字为Stop else btn.setLabel("Start"); // 设置按钮上方的文字为Star }
01 02 03 04 05 06 07 08
// App19_2, 简单的applet程序 引入Applet包 import java.awt.*; import java.applet.Applet;
public class App19_2 extends Applet { public void paint(Graphics g) { g.drawString("Hello Java",30,50); // 在绘图区内写上字符串 09 } 10 }
准备一个HTML文件App19_2.htm,并将它放在与 App19_2.class同一个文件夹内。
01 02 03 04 05 06 07 08 09 10 11 12 13 <!-- App19_2.htm --> <HTML> <BODY BGCOLOR = "FFFF00" > <APPLET CODE= "App19_2.class" WIDTH = "240" 设置applet靠右对齐 HEIGHT = "170" ALT = "很抱歉,您的浏览器不支持Java applet" ALIGN= "RIGHT" VSPACE = "20" > </APPLET> 设置applet与其 </BODY> 他组件的垂直距 </HTML> 离为20
web 服 务 网页与applet一起被 器 下载到用户计算机里 运行 向 web 服 务 器要求传送 网页
用户计算 机
Applet类的继承关系 :
ng.Object
ponent
java.awt.Container java.awt.Panel java.applet.Applet
显 示 效 果
<HTML文件> 09 <PARAM NAME= "str1" VALUE = "Hello from Java!!" > 10 <PARAM NAME= "str2" VALUE = "Say hello to you!!" >
Applet的运行程序
当屏幕需要更新以显示新的内容,窗口通过制作必须 更新的区域(矩形)来处理,然后画出显示结果。 由update()和paint() 方法完成。
进入网页或按重新 整理(reload)按钮 设定初值
init() init()
程序开始执行 跳到别页
start() start()
关闭applet
回到本页
stop() stop()
stop() stop()
销毁applet
destroy() destroy()
例子:
import java.applet.*; import java.awt.*; public class AppletMethods extends Applet { int initCounter=0; int startCounter =0; int stopCounter =0; int destroyCounter=0; public void init() { initCounter++; repaint(); } public void start() { startCounter++; repaint(); } public void stop() { stopCounter++; repaint(); }
import java.awt.*;
import java.applet.*; public class AppletofParam extends Applet{
private String paramName; //保存返回对应参数值的字符串
public void init() { paramName=getParameter(“who”); if (paramName==null) { paramName=”world”; } public void paint(Graphics g) { super.paint(g); g.drawString(“Hello ”+paramName+ “ !”, 50,50); } } }
Chapter 19
网页的向导-Applet
Java的程序可分为Java application与Java applet两种。 本章将介绍Java applet的编写与它的运行方式。
applet经编译后,会产生.class的文件。把.class的文件嵌 在html的网页中,只要用户连到一个网页里,applet便会 随着网页下载到用户的计算机运行
update()方法:
取Graphics类对象作为参数。 当applet区域需要重画时,Windows系统开始画画过 程。 调用update()方法清除屏幕再调用paint()方法,屏幕 然后由系统更新。
paint()方法: 取Graphics类对象作参数,在绘画区画applet的图象。 方法被第一次自动激活时,applet显示在屏幕上而且 每次applet收到焦点,由调用repaint()方法而触发 paint()方法。 repaint()方法: 当想要重画applet的区域时调用该方法。repaint()方 法是调用update()方法发出applet需要更新的信号。 update()方法的缺省操作是清除applet区域和调用 paint()方法,如果不想清除applet区域可以抑制 update()方法。
// 取得html里的str1串 // 取得html里的str2串
…… 09 <PARAM NAME= "str1" VALUE = "Hello from Java!!" > 10 <PARAM NAME= "str2" VALUE = "Say hello to you!!" > 11 </APPLET> 12 </BODY> 13 </HTML>
加入AWT组件到applet里
创建组件的对象 将创建好的对象加入到Applet窗口里 若要实现组件的功能,还需为其添加监视器和写相应 的代码
//例:加入AWT组件到applet里
08 09 10 11 12 13 14 Button btn; // 声明Button类型的变量btn public void init() { btn=new Button("Start"); // 创建btn对象 btn.addActionListener(this); // applet本身作btn的聆听者 add(btn); // 将btn按钮加入applet窗口里 }
<applet code=… .class
< param name=myPara
width=… height= …>
value=”…” >
< param name=参数名
</applet>
value=”参数值” >
在applet文件中,可以在init()方法中用 getParameter(“myPara”)方法获得这些参数。
用浏览器来观看applet的运行结果
用appletviewer查看运行的结果
传递参数给applet applet可通过HTML使用参数,从含有<APPLET>标 签的HTML文件中获得不同的输入。 从HTML中合理地使用参数,既可以控制对applet的 执行,也可以增加applet 的灵活性,不致于因简单的 修改而对整个java源程序重新编译。
为了在一个 applet中建立和处理参数,必须:
1、在HTML文件中设置一个特殊的参数标志;
2、在applet中从语法上分析这些参数的代码。 在包含嵌入applet 的HTML文件中使用<PARAM> 标签 表示每个参数,<PARAM> 标签具有名字和值两个属性, 其分别称为NAME和VALUE。 一、形式: ●在HTML文件中:
请注意applet文件和 HTML文件中红色的对应 paramName=getParameter(“who”); <param name=who value= "Jessica">
01 // App19_3, 简单的applet程序 02 import java.awt.*; 03 import java.applet.Applet; 04 05 public class App19_3 extends Applet { 06 public void paint(Graphics g) 07 { 08 g.drawString(getParameter("str1"),30,40); 09 g.drawString(getParameter("str2"),30,60); ……
public void destroy() { destroyCounter++; repaint(); } public void paint(Graphics g) { g.drawString("init has been invoked“ + String.valueOf (initCounter) +"times",20,20); g.drawString("start has been invoked“ + String.valueOf (startCounter) + "times",20,35); g.drawString("stop has been invoked“ + String.valueOf(stopCounter) + "times",20,50); g.drawString("destroy has been invoked“ + String. valueOf(destroyCounter) +" times",20,65); } }
直接通过函数获得 HTML中的参数
<JAVA文件> 08 g.drawString(getParameter("str1"),30,40); // 取得html里的str1字符串 09 g.drawString(getParameter("str2"),30,60); // 取得html里的str2字符串
三、例子 import java.awt.*; import java.applet.*; public class AppletofParam extends Applet{ private String paramName; //paramName用来保存返回对应参数值的字符串 public void init() { paramName=getParameter(“who”);
getParameter() 方法的语法:
String 保存参数值的变量 = getParameter(“参数名”);
getParameter()方法有一个参数,返回包含对应该参 数值的一个字符串。 例如:String theFontName=getParameter(“font”);
二、注意
1、作为在<PARAM>中指定的参数名,和在
getParameter()的参数名必须完全匹配;
2、如果用户没有在HTML文件中指定所需的参数,
getParameter()就返回null。用户层次需要测试一个
null参数,并提供一个适当的缺省。 例如: if (theFontName==null) theFontName=”Courier”;
三、例子
程序对应的HTML文件:
<HTML> <HEAD> <TITLE>This is the example of Parametr transfer </TITLE> </HEAD> <BODY> <applet code = AppletofParam.class height =250 width=400 > <param </applet> </BODY> </HTML> name=who value= "Jessica">
相关文档
最新文档