虽然现在已经不是Applet的时代了,applet过于强大导致客户端的不安全性,还要求客户端安装JAVA运行环境,flash已经成为web应用的主流,现在每个游览器基本都安装了flash播放器,但Applet可是Java语言的开端。

Applet和一般的java程序最大区别就是没有main函数入口,他是通过继承Applet类。
这个类有5个特殊方法
init:初始化
start:启动时执行
stop:停止
destroy:于init相对
paint:绘制界面
下面看具体代码,eg
- public class HelloApplet extends JApplet
 - {
 - //初始化Applet的方法
 - public void init()
 - {
 - setLayout(new FlowLayout());
 - add(new JButton("XXX"));
 - add(new JButton("YYY"));
 - }
 - //启动Applet的方法
 - public void start()
 - {
 - System.out.println("start方法");
 - }
 - //绘制Applet界面的方法
 - public void paint(Graphics g)
 - {
 - super.paint(g);
 - System.out.println("paint方法");
 - g.drawLine(3 , 3 , 200 , 300);
 - }
 - //停止Applet的方法
 - public void stop()
 - {
 - System.out.println("stop方法");
 - }
 - //销毁Applet的方法
 - public void destroy()
 - {
 - System.out.println("destroy方法");
 - }
 - public static void main(String[] args)
 - {
 - JFrame jf = new JFrame();
 - JApplet panel = new HelloApplet();
 - panel.setPreferredSize(new Dimension(300, 400));
 - //显式调用HelloApplet对象的init、start方法
 - panel.init();
 - panel.start();
 - jf.add(panel);
 - jf.pack();
 - jf.setVisible(true);
 - }
 - }
 
其中我们把Applet当成容器来使用,把他加入JFrame,用main作为入口运行。
放到网页中就不需要main,但要通过网页掉用
调用方法如下
这个文件一般利用JDK目录下的bin中的HtmlConverter来转换,手动写对不同游览器还是挺吃力的。
下面再看个Applet动画,eg
- public class ScApplet extends Applet
 - {
 - final String testStr = "Java真好玩,学习很有趣!";
 - //用于保存字符串下一次出现的座标
 - private int nextX;
 - private int nextY;
 - private Color nextColor;
 - private Font nextFont;
 - java.util.Random rand = new java.util.Random(System.currentTimeMillis());
 - public void init()
 - {
 - Timer timer = new Timer(200 , new ActionListener()
 - {
 - public void actionPerformed(ActionEvent event)
 - {
 - //随机生成下一次座标、颜色、字体大小
 - nextX = rand.nextInt(400);
 - nextY = rand.nextInt(300);
 - nextColor = new Color(rand.nextInt(255) , rand.nextInt(255) , rand.nextInt(255));
 - nextFont = new Font("Times" , Font.BOLD , rand.nextInt(60));
 - //强制重绘
 - repaint();
 - }
 - });
 - timer.start();
 - }
 - //绘制Applet界面的方法
 - public void paint(Graphics g)
 - {
 - g.setColor(nextColor);
 - g.setFont(nextFont);
 - g.drawString(testStr, nextX, nextY);
 - }
 - public static void main(String[] args)
 - {
 - JFrame jf = new JFrame();
 - ScApplet panel = new ScApplet();
 - panel.setPreferredSize(new Dimension(400, 300));
 - panel.init();
 - panel.start();
 - jf.add(panel);
 - jf.pack();
 - jf.setVisible(true);
 - }
 - }
 
大家可以把玩下,其实还是挺好玩的。
原文链接:http://blog.csdn.net/terryzero/article/details/3792261
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号