如何让JButton等一秒钟?

时间:2016-03-13 16:27:59

标签: java eclipse time

好的所以我正在制作一个叫做游戏的游戏" Connect Four"。我正在尝试做的是这样的。所以,一旦你按下了名为" Human vs Computer"它应该说"你的游戏开始于" " 3" (现在它应该等待一秒然后它应该打印)" 2" (现在它应该等待一秒然后它应该打印)" 1"。

但是当我这样做的时候......它会冻结人类和电脑按钮"我不知道为什么会这样做。所以你能告诉我如何解决这个问题。这是我到目前为止所尝试的。

private class humanVsComputerButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {      

  if (event.getSource() == humanVsCom) {

    lblWelcome.setVisible(true);
    playButton.setVisible(false);
    ruleButton.setVisible(true); 
    quitButton.setVisible(true);
    humanVsCom.setVisible(false);
    multiplayer.setVisible(false);
    withTimeLimit.setVisible(false);
    noTimeLimit.setVisible(false);
    ruleButton.setVisible(false);
    quitButton.setVisible(false);
    goBack.setVisible(false);          
    lblGameStarts.setVisible(true);

    try {
      Thread.sleep(5000);                        
    }catch (Exception e) {
    }

    lblGameStarts.setVisible(false);          
    lblinThree.setVisible(true); 

    try {
      Thread.sleep(5000);                        
    }catch (Exception e) {
    }

    lblinThree.setVisible(false);
    lblinTwo.setVisible(true);

    try {
      Thread.sleep(5000);                        
    }catch (Exception e) {
    }

    lblinTwo.setVisible(false);
    lblinOne.setVisible(true);

    try {
      Thread.sleep(5000);                        
    }catch (Exception e) {
    }

    lblinOne.setVisible(false);          
  }
}
}  
}

经过一些秒后,它会在一行中打印所有内容。

enter image description here

请帮我解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:1)

整个程序运行一个线程(除非你创建或程序创建任何线程)。因此,要在自己的线程上单独运行某些内容,请执行以下操作:

read_files = open(lines)

在run()方法中,您可以放置​​要执行的内容。