今天遇到了一个Java问题......
我用一些按钮和标签构建了一个小框架。当我按下按钮时,我想更改 3 个标签,等待几秒钟再将它们改回来。我觉得它是:
lKarte1.setText(test.kartendeck[0].iam()); //lKarte1 is the label and iam() returns a String
lKarte2.setText(test.kartendeck[0].iam());
到目前为止,这工作得很好。片刻之后,我更改了更多标签 if(halt[0].wertigkeit.getValue() > halt[1].wertigkeit.getValue() ){lPlayer1.setText("PLayer1 Wins!!!!!");}
再一次,这也有效。所以在这行之后我想休息大约 2 秒。
try{Thread.sleep(2000);} catch(InterruptedException e){}
两秒钟后,它应该显示“旧”标签。
lPlayer1.setText("Player1");
lPlayer2.setText("Player2");
lKarte1.setText("");
lKarte2.setText("");
现在我的问题。当我在没有 Thread.sleep 的情况下执行此操作时,一切正常。但是,当我使用 Thread.sleep() 执行此操作并且单击按钮时,什么都没有显示,只有 2 秒钟没有任何反应。我知道或者最好在 2 秒结束时看到标签闪烁,所以他进行了更改,,,,但为什么在他应该去睡觉之前不进行更改??????