Java- 简单接触Applet

  Applet是在游览器执行Java程序的,他类似于插件,例如像ActiveX插件。Applet程序里运行的是各种不同的AWT方法,例如drawString。
  简单的了解一下Applet的应用,先来运行一段简单的Applet小程序

import java.applet.Applet;
import java.awt.Graphics;


public class test1 extends Applet {

    public void paint(Graphics g){
        
        g.drawString("Hello Java", 0, 30);
    }
}

  首先一个类要先继承Applet,这个类才拥有Applet的全部功能。想使用Applet在游览器上输出一段文字,必需在paint方法里实现,使用drawString方法。接着我们在生成test1.class的同级目录下创建一个HTML文件。文件里加如下代码:<applet code="test1" height="300" width="300"></applet> 。这时打开游览器就能看到游览器画出了HELLO JAVA这段文字了。
   下面四个方法:init(),start(),stop(),destory()是由Applet定义的,paint()方法是由AWT组件类定义的,这五个方法组成了程序的基本主框架

  

  init()方法使用示例,画线例子

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.event.*;

public class test1 extends Applet {

    public void paint(Graphics g){
        
        g.drawString("Hello Java",0,30);
    }
    
    public void init(){
        addMouseListener(new MouseAdapter(){
            int orgX;
            int orgY;
            public void mousePressed(MouseEvent e){
                orgX = e.getX();
                orgY = e.getY();
            }
            
            public void mouseReleased(MouseEvent e){
                getGraphics().drawLine(orgX, orgY, e.getX(), e.getY());
            }
        });
    }
    
}

 

  结合线程来创建动画例子,每隔一段时间,不停显示1-9的例子

import java.applet.Applet;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.*;


public class test1 extends Applet implements Runnable {

    int index=0;
    public void paint(Graphics g){
        g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30));
        g.drawString(""+index,0,60);
    }
    
    public void init(){
        new Thread(this).start();
    }
    
    public void run(){
        while(true){
            try {
                Thread.sleep(100);
                index = (index + 1) % 10;
                repaint();            
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }    
}

  

  调用repaint方法时,程序先清除以前画的内容,然后调用paint方法进行重画。

  


   来看一下上面张图片,可以看出调用repaint方法下面会去调用update方法,那么update方法的作用是什么?他的作用就是清除组件表面内容,然后调用paint引起窗体重画。如果我们想不调用repaint方法,直接使用update方法,那么我们必须自已手动去清除画面,并进行重画,所以需要实现一个update方法,例如下面这样:

public class test1 extends Applet implements Runnable {

    int index=0;
    public void paint(Graphics g){
        g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30));
        g.drawString(""+index,0,60);
    }
    
    public void init(){
        new Thread(this).start();
    }
    
    public void run(){
        while(true){
            try {
                Thread.sleep(100);
                index = (index + 1) % 10;
                update();        
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }

    public void update()
    {
        //...
        paint();
    }
}

 

转载于:https://www.cnblogs.com/cxeye/archive/2012/09/13/2683363.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值