相关疑难解决方法(0)

对单个线程使用sleep()

我对java很新,并开始使用不同的线程来使用wait()sleep()在我的代码的一部分上运行其他代码.

对于这个项目,我使用JFramejavax.swing.*java.awt.*进口.我想要做的是让其中一个线程(在我的代码中它是主要的,起始线程)允许玩家在tic tac toe board上选择一个空间,当他们点击它时,它将改变图标,并且然后AI将等待1秒钟,然后从我创建的第二个线程回放.

不幸的是,每当我调用ait.sleep(1000)(ait是我的线程名称)时,两个线程都会在完成执行之前等待1秒.谁能告诉我为什么睡一个线程会阻止我的整个执行?

java swing multithreading event-dispatch-thread thread-sleep

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

Thread.sleep和重新绘制

我有一个显示文本的面板.我希望面板更改其文本,然后在其他任何事情发生之前暂停应用程序.我正在使用Thread.sleep(1000).但是,出于某种原因,应用程序在调用Thread.sleep之前没有完成绘制面板(文本没有被更改).我也试过这个:

board.invalidate();
board.setLeftMessage("Not");
board.setRightMessage("Here");
board.revalidate();
Date current = new Date();
long timeNow = current.getTime();
Date newDate = new Date(timeNow + 1000);
while (current.before(newDate))
    current = new Date();
Run Code Online (Sandbox Code Playgroud)

但也没有运气.有人有建议吗?非常感谢.

java swing multithreading repaint

2
推荐指数
1
解决办法
2925
查看次数