睡觉开始之前,我希望它......
所以我有一个这个按钮,点击事件鼠标,以m [0] [0]显示数字,然后继续if
private void m00MouseClicked(java.awt.event.MouseEvent evt) {
m00.setText(String.valueOf(m[0][0]));
c=c+1;
if(c==2){
.......
}
但我希望按钮显示数字m [0] [0]然后等待几秒钟再继续使用if和ive尝试:
private void m00MouseClicked(java.awt.event.MouseEvent evt) {
m00.setText(String.valueOf(m[0][0]));
c=c+1;
try {
Thread.sleep(2000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
if(c==2){
.......
}
但是在哪里我放置试睡眠它等待2秒才显示数字然后继续使用if,我甚至尝试了睡眠中的if但仍然没有按照我想要的方式工作。请帮助!!
答案 0 :(得分:4)
不要从侦听器内部调用Thread.sleep()。代码将在Event Dispatch Thread上执行,导致GUI冻结。
相反,您可以使用Swing Timer来安排事件在2秒内完成。有关详细信息,请阅读How to Use Swing Timers上的Swing教程中的部分。