□许茆堂
Applet程序的特色:具有完整的网络运行能力。内嵌在网页中运行。支持图形界面和事件处理。支持多线程设计。applet支持的类是java.applet.Applet。并继承Java.awt.Panel类而来。applet最大的不同之处是没有main()方法。当嵌入applet程序的网页被加载时,applet程序也会一起加载,此时构造方法将会最先被运行,接着是运行init()方法,init()方法被用来进行一些初始化工作。start(),paint()和stop()这3个方法的运行是循环式的,当运行applet程序的窗口获得焦点时,start()方法会自动地被调用,相对的stop()方法会在运行窗口失去焦点时被调用,而paint()方法则可用来绘制applet程序。applet标记语法:<APPLETCODEBASE=路径CODE=class文件名width=宽度height=高度><PARAMNAME="参数名称"VALUE="参数值">……<applet>
要掌握applet程序的运行结构:参考如下:
importjava.applet.*;
publicclassMyAppletextendsApplet
{publicMyApplet(){//构造方法}
publicvoidinit(){//初始方法}
publicvoidstart(){//开始运行}
publicvoidstop(){//停止运行}
publicvoiddestroy(){//结束运行}}
applet程序继承Applet类,默认布局为FlowLayoout;如果继承JAppet类,则默认布局为BorderLayout。
例:Applet窗口程序-简易留言板:
importjava.awt.*;
importjava.util.*;
importjava.awt.event.*;
importjava.applet.Applet;
publicclassexp1extendsApplet//继承Applet类{
intcount=1;//信息计数变量
Labell=newLabel("输入留言:");//创建标签组件
Buttonb1=newButton("留言");
Buttonb2=newButton("清除");
TextAreata=newTextArea(10,25);//创建文本区组件
TextFieldtf=newTextField("请在此输入^_^,15);
publicvoidinit()//复位init()方法
{tf.selectAll();//选取单行文本区组件的字符串
ta.setEditable(false);//设置文本区组件为只读
//为b1,b2按钮组件加入事件处理方法
b1.addMouseListener(newb1_Listener());
b2.addMouseListener(newb2_Listener());
add(l);//加入标签
add(tf);
add(b1);
add(b2);
add(ta);}
//b1按钮的事件处理方法类,此为一自定义内隐类
classb1_ListenerextendsMouseAdapter{
publicvoidmouseClicked(MouseEvente)
{//创建日历对象,此对象在java.util包中
Calendarc=Calendar.getInstance();
Stringyea=Integer.toString(c.get(Calendar.YEAR));
Stringmon=Integer.toString(c.get(Calendar.MONTH)+1);
Stringday=Integer.toString(c.get(Calendar.DAY_OF_MONTH));
if(tf.getText().equals(""))return;//不加入空字符串信息
else//加入信息到文本区中{
ta.append(yea+"年"+mon+"月"+day+"日");
ta.append(c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+"\n");
ta.append("信息"+(count++)+"==>"+tf.getText()+"\n\n");
tf.setText("");
}}}
//b2按钮的事件处理方法类,此为一自定义内隐类
classb2_ListenerextendsMouseAdapter
{publicvoidmouseClicked(MouseEvente)
{tf.setText("");//清除单行文本区}}}
通过此程序可看到在applet程序中也是可以使用图形组件或事件处理等窗口程序机制的(包括多线程)。
下面是applet.html文件的内容:
<html>
<head>
<title>Applet测试</title>
</head>
<body>
<appletcode="exp1.class"width=230height=250></applet>
</body>
</html>
作者单位:江苏省连云港市海州区环境卫生管理处