小编Jon*_* L.的帖子

Thread.sleep()延迟整个程序,而不仅仅是它之后的程序

相当多的标题.代码应该绘制一个框,等待1秒,然后在不同的位置绘制一个新的框并重新绘制.相反,它会等待1秒然后画两个盒子.感谢您的帮助,如果我搞砸了格式化就很抱歉.

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

public class GameRunner extends JPanel{
   @Override
   public void paintComponent (Graphics g){
      int x = 0;
      boolean directionRight = true;
      g.setColor(Color.blue);
      g.fillRect(300,400,100,100);
      repaint();
      try{
         Thread.sleep(1000);
      }
      catch (Exception ex){}
      g.fillRect(600,400,100,100);
      repaint();  
   }
   public static void main (String[] args){  
      JFrame frame = new JFrame("Submarine");
      GameRunner gameRunner = new GameRunner();
      frame.add(gameRunner);
      frame.setSize(1200,700);
      frame.setVisible(true);
      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   }
}
Run Code Online (Sandbox Code Playgroud)

java swing paintcomponent thread-sleep

3
推荐指数
1
解决办法
62
查看次数

标签 统计

java ×1

paintcomponent ×1

swing ×1

thread-sleep ×1