问题是您
Thread.sleep()在事件调度线程中调用导致GUI变得无响应。为了避免这种情况,您可能需要改用Swing
Timer:
Timer timer = new Timer(50, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(!stop) { gamePanel.repaint(); } else { ((Timer)e.getSource()).stop(); } } }); timer.setRepeats(true); timer.setDelay(50); timer.start();哪里
stop是指示动画必须停止一个布尔标志。



