Applet(一)
Applet又称为Java小应用程序,是能够嵌入到一个HTML页面中,并且可以通过WEB浏览器下载和执行的一种Java类。
Applet不需要 main()方法,由WEB浏览器内嵌的 Java虚拟机来调用执行。
Applet一般从远端服务器下载,在本地执行,限制在“沙箱”中运行,保证了对本地系统而言,Applet是安全的。
Applet在沙箱中运行时
1.不能运行本地可执行程序
2.除了存放下载的Applet的服务器外,Applet不能和其他主机通信
3.不能对本地文件系统进行读写
Applet继承自Panel,Panel的默认布局管理器是FlowLayout,因此Applet中的布局管理器也是FlowLayout。
值得注意的是,因为通常需要下载到本地后执行,为了更高的效率,通常要精确得导入类,而不应该用通配符 * 来导入一个包中的所有类。
影响一个Applet生命周期的四个函数如下
Init() 执行一切初始化操作,加载Applet时调用
Start(),页面可见时调用
Stop(),页面不可见时候调用,停止
Destroy(),不再被调用或者浏览器退出时调用
通常我们要做一个在HTML语句中运行的APPLET时候,需要在HTML中加入如下的语句
<APPLET CODE="a.CLASS" WIDTH=b HEIGHT=c>
<PARAM name= value= > /*PARAM标记的语句可以在Java程序中通过getParameter(变 量名)获得*/
</APPLET>
a处是类名,b和c都是int型,指定大小
我们需要一个paint(Graphics g)方法向Applet中写入信息,这个Graphics是Java.awt中的一个类。
如果我们需要指定字体,可以利用java.awt.Font这个类,并利用Graphics.setFont(Font f)这个方法。
在这次总结的练习代码中,我写了一个可以在Applet内通过拖动鼠标画线的程序,其中字符串“画线吧”的字体通过HTML中的<param>字段中指定为“楷体_GB2312”。因为是本地测试,仍然用通配符导入一个包的所有类。
--------------------------------
Java代码
/Applet画线小程序
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class AppletTest extends Applet
{
int x,y;
String stri;
public void init() //应该在init中完成应该在构造方法中的初始化操作
{
addMouseListener(new MouseAdapter() //注册鼠标监听器
{
public void mousePressed(MouseEvent e) //按下但是不松开时调用
{
x=e.getX();
y=e.getY();
}
public void mouseReleased(MouseEvent e) //松开鼠标时调用
{
int xx=e.getX();
int yy=e.getY();
getGraphics().drawLine(x,y,xx,yy); //Applet的getGraphics()可获得当前//Graphics
}
});
}
public void start()
{
}
public void stop()
{
}
public void destroy()
{
}
public void paint(Graphics g)
{
stri=getParameter("Cnfont"); //获得HTML中的param字段
g.setFont(new Font(stri,Font.BOLD,30)); //指定字体
g.drawString("画线吧!",0,30);
}
}
=================================================
Html代码
------------------------------------------------
<applet code="AppletTest.class" width=400 height=600>
<param name=Cnfont value="楷体_GB2312">
</applet>