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){}之后,程序出现卡死情况,窗口无法正常绘制。
运行程序:
停止: