import java.awt.*;
import javax.swing.*;

public class BallGame extends JFrame {

    Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.png");

    //绘制窗口
    public void paint(Graphics g){
        System.out.println("窗口被画了一次!");
        g.drawImage(desk,0,0,null);
        g.drawImage(ball,200,200,null);

        //实现动画每秒绘制窗口25次
        while(true){
            repaint();

            try {
                Thread.sleep(40);   //1s=1000ms,1000/40=25,每秒画25次。
            } catch (InterruptedException e) {
                //throw new RuntimeException(e);
                e.printStackTrace();
            }
        }
    }

    //创建窗口
    void launchFrame(){
        setSize(856,501);
        setLocation(100,100);
        setVisible(true);
    }

    public static void main(String[] args){

        System.out.println("我的小游戏开始啦");

        BallGame game = new BallGame();
        game.launchFrame();

    }

}

加入while(true){}之后,程序出现卡死情况,窗口无法正常绘制。

运行程序:

P9[}X}NMTEPICBERG]9HYRG.jpg

HPU0PF03DZCZ`(19{@9)I`E.pngYBLR$FSKJ)((3SIY6BO0)FM.png

停止:

EOAPDGM23@6807IFTK(1}$0.png

相关课程:JAVA 全系列>第一阶段:JAVA 快速入门>IDEA的使用和第一个java项目>【项目】动画实现_台球沿着随机角度动起来

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637