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(500,500);
frame.setVisible(true);
//key
for(int i=0;i<260;i++)
{
x++;
y++;
drawPanel.repaint();
try
{
Thread.sleep(50);//加上延迟刻意放慢,不然一下会跑完
}catch(Exception ex)
{
}
}
}
//内部类
class MyDrawPanel extends JPanel
{
public void paintComponent(Graphics g)//注意component的拼写
{
g.setColor(Color.orange);
g.fillOval(x,y,40,40);
}
}
}
完善版
注意:仅当显式请求注释处理时才接受类名称,是用cmd编译时java写成javac导致错误
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(500,500);
frame.setVisible(true);
//key
for(int i=0;i<260;i++)
{
x++;
y++;
drawPanel.repaint();
try
{
Thread.sleep(50);//加上延迟刻意放慢,不然一下会跑完
}catch(Exception ex)
{
}
}
}
//内部类
class MyDrawPanel extends JPanel
{
public void paintComponent(Graphics g)//注意component的拼写
{ g.setColor(Color.white);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.orange);
g.fillOval(x,y,40,40);
}
}
}