日期:2014-05-20  浏览次数:20719 次

head first java
Java code

package simpleAnimation;

import javax.swing.*;
import java.awt.*;
public class SimpleAnimation
{
    int x=70;
    int y=70;
    
    public static void main(String[] args)
    {
        SimpleAnimation gui=new SimpleAnimation();
        gui.go();
    }
    public void go()
    {
        JFrame frame=new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        MyDrawPanel drawPanel=new MyDrawPanel();
        
        frame.getContentPane().add(drawPanel);
        frame.setSize(300,300);
        frame.setVisible(true);
        
        for(int i=0;i<130;i++)
        {
            x++;
            y++;
            drawPanel.repaint();
            
            try
            {
                Thread.sleep(50);
            }
            catch(Exception ex)
            {}
        }
    }
    class MyDrawPanel extends JPanel
    {
        public void paintComponet(Graphics g)
        {
            g.setColor(Color.white);
            g.fillRect(0, 0, this.getWidth(), this.getHeight());
            g.setColor(Color.green);
            g.fillOval(x,y,40,40);
        }
    }

}




为什么我的运行结果不对,应该是一个移动的圆的,但却什么都没显示?

------解决方案--------------------
楼主....谁教你画图是重写public void paintComponet(Graphics g)的?
改成public void paint(Graphics g)