中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>程序设计>Java>列表

JAVA Component类学习(三)

来源:china1985.cublog.cn 作者: 时间:2007-12-08 点击:

  import java.awt.*;

  import java.awt.event.*;

  class MyCanvas extends Canvas{

  int n = -1;

  MyCanvas(){

  setSize(150,120);

  setBackground(Color.pink);

  }

  public void paint(Graphics g){

  g.setColor(Color.red);

  g.drawString("部分清除时我们将消失",10,12);

  g.drawString("我们正在学习repaint方法",10,80);

  }

  public void setN(int n){

  this.n = n;

  }

  public void update(Graphics g){

  int width = 0,heigth = 0;

  width = getSize().width;

  heigth = getSize().height;

  if(n==0){

  g.clearRect(0,0,width,heigth);

  //paint(g);//如果取消该注释,updata的功能就与父类相同

  }

  else if(n==1){

  g.clearRect(0,0,width,40);

  }

  }

  }

  

  public class Test40 extends java.applet.Applet implements ActionListener{

  Button b1 ,b2;

  MyCanvas canvas;

  public void init(){

  canvas = new MyCanvas();

  b1=new Button("全部清除");b2=new Button("部分清除");

  b1.addActionListener(this);b2.addActionListener(this);

  add(b1);add(b2);add(canvas);

  }

  public void actionPerformed(ActionEvent e){

  if(e.getSource()==b1){

  canvas.setN(0);

  canvas.repaint();

  }

  if(e.getSource()==b2){

  canvas.setN(1);

  canvas.repaint();

  }

  }

  }

  

  public void update(Graphics g)更新容器。该方法将 update 方法转发给任意一个是这个容器子组件的轻量级组件。如果重新实现此方法,那么应该调用 super.update(g) 方法,从而可以正确地呈现轻量级组件。如果通过 g 中的当前剪切设置完全剪切某个子组件,则不会将 update() 转发给这个子组件。

  覆盖:

  类 Component 中的 update

  参数:

  g - 指定的 Graphics 窗口

  ==============================================

  public void clearRect(int x,

  int y,

  int width,

  int height)重写 Graphics.clearRect。

  指定者:

  类 Graphics 中的 clearRect

  参数:

  x - 要清除矩形的 x 坐标。

  y - 要清除矩形的 y 坐标。

  width - 要清除矩形的宽度。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册