首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 中public void paint()方法有关问题

2012-01-23 
java 中public void paint()方法问题import java.awt.*import java.awt.event.*class MyBtton extends B

java 中public void paint()方法问题
import java.awt.*;
import java.awt.event.*;

class MyBtton extends Button implements ActionListener
{ int x=10,y=10,i=0;
  Color color[]={Color.red,Color.yellow,Color.green};
  Color c=color[0];
  MyBtton()
  { setSize(38,85);
  setBackground(Color.cyan);
  addActionListener(this);  
 
  }
  public void paint(Graphics g)
  { g.setColor(c);
g.drawOval(x, y, 20, 20);
 
 }
  public void update(Graphics g) 
 { g.clearRect(x, y, 20, 20);
//paint(g) ;
}
  public void actionPerformed(ActionEvent e)
  { i=(i+1)%3;
  c=color[i];
  y=y+23;
  if(y>56)
  y=10;
  repaint();
   
  }
}
class WindowCanvas extends Frame
{ WindowCanvas()
{ MyBtton button=new MyBtton();
setLayout(null);
add(button);
button.setLocation(30,30);
setBounds(60,125,100,200);
setVisible(true);
validate();
addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);
  }
  });
}
}
public class PaintExa {

/**
* @param args
*/
public static void main(String[] args) {
new WindowCanvas();
// TODO Auto-generated method stub

}

}


上面的程序是实现交通指示灯的样式public void update(Graphics g) 
 { g.clearRect(x, y, 20, 20);
paint(g) ;
}

 repaint();
我把这三句删掉,程序任能实现该功能,这是因为事件处理之后,自动调用父类的方法吗?还有public void paint()重写父类方法怎么不调用就能运行??

[解决办法]
多态基础
请翻书...

热点排行
Bad Request.