我的程序大致如下,但是当线程启动的时候,不能在屏幕上画出东西来。
在frame上添加一个canvas,这个canvas继承Runnable接口,在上面画出动画效果public class myFrame extends JFrame
{
Mycanvas canvas;
public myFrame(String title){
super(title);
canvas=new Mycanvas();
Container container=getContentPane();
setSize(300,300);
container.add(canvas);
setVisible(true);
}
public static void main(String args[])
{
new myFrame("xxx");
}
}public class   Mycanvas extends Canvas implemnts Runnable
{
    BufferedImage bufferedImage;
    Graphics2D g2;
    ……
 public void init(){
   bufferedImage=new BufferedImage(canvasWidth,canvasHeight,BufferedImage.TYPE_INT_BGR);   
   g2=bufferedImage.createGraphics();
   ……
    } public void run(){
         ……
          draw(g2);
          repaint();
          ……
          }
   public void paint(Graphics g)
{
   g.drawImage(bufferedImage,0,0,this);
   System.out.println("paint(g) run");//这里不执行,不知道为什么
 }
  public void update(Graphics g)
{
paint(g);
}
public void draw(Graphics2D g);
{
    g2.draw……
}
………………
}