第12章-图形用户接口(3)---动画-1

来源:互联网 发布:千牛mac beta版 编辑:程序博客网 时间:2024/05/17 08:17

2015/6/16

1、所谓动画,就是不断的改变Gui的位置,同时重绘panel

2、动画实例:

package learn_swing;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();}void go(){JFrame frame=new JFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Draw draw=new Draw();frame.getContentPane().add(draw);frame.setSize(600,600);frame.setVisible(true);for(int i=0;i<130;i++){//改变x.y的值,通过调用repaint()方法来改变圆形的位置x++;y++;draw.repaint();try{//休眠50毫秒,如果不设置,变化会在一瞬间完成Thread.sleep(50);}catch(Exception e){}}}//内部类class Draw extends JPanel{public void paintComponent(Graphics g){//通过画一个和panel一样大的矩形,并且填充白色来保证重绘的时候不会留下之前的痕迹g.setColor(Color.WHITE);//this.getWidth()和this.getHeight()可以获得panel的宽和高g.fillRect(0, 0, this.getWidth(), this.getHeight());//一个圆形,通过x、y的改变来改变位置//因为是内部类,所以可以自由的调用外部类的x、y变量g.setColor(Color.orange);g.fillOval(x, y, 100,100);}}}



0 0
原创粉丝点击