24.3.2 如何使用Applet类编程
【实例24.4】针对前面的讲述,本节演示一个复杂的实例,分析如何使用Applet类编程。实例的代码如下所示。
01 import java.applet.*;
02 import java.awt.*;
03 ///创建一个线程类,并且这个线程类继承了Applet类
04 ///在初始化方法中,通过getimage方法设置背景图像,通过getParameter方法获取字符串
05 ///在运行方法中,创建这个线程类的对象t,让其运行
06 ///在线程的run方法中,将text这个字符串循环地写到页面的不同位置
07 public class test4 extends Applet implements Runnable
08 {
09 Image backgroud;
10 String text;
11 boolean loop=true;
12 int delay;
13 public void init()
14 {
15 backgroud=getImage(getCodeBase(),getParameter("backgroud"));
16 text=getParameter("text");
17 delay=Integer.parseInt(getParameter("delay"));
18 }
19 public void start()
20 {
21 Thread t;
22 t=new Thread(this);
23 t.start();
24 }
25 public void stop()
26 {
27 loop=false;
28 }
29 public void run()
30 {
31 int x=0;
32 Graphics g=getGraphics();
33 Image buffer=createImage(getWidth(),getHeight());
34 Graphics gp=buffer.getGraphics();
35 while(loop)
36 {
37 gp.drawImage(backgroud,0,0,getWidth(),getHeight(),this);
38 gp.drawString(text, x,50);
39 g.drawImage(buffer,0,0,this);
40 x+=2;
41 if(x>=getWidth())
42 {
43 x=0;
44 }
45 try
46 {Thread.sleep(delay);}
47 catch(Exception e){}
48 }
49 }
50 }
在同一个目录下创建一个HTML文件,代码如下所示。
51<html>
52<body>
53<Applet code="test4.class"width="200"height="200">
54<param name="background"value="bullet.gif">
55<param name="text"value="我是一个优秀的程序员">
56<param name="delay"value="100">
57</Applet>
58</body>
59</html>
【代码说明】第53行指明引用的Java类名称。第54行设置背景图像。第56行设置延迟时间,value的单位为毫秒。
【运行效果】这个程序的结果是一个跑马灯。让一段文字不断地从屏幕的一侧移动到另一侧,这种动作循环执行。