我试图让程序等待用户点击GUI。
但while (!enteredField) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
只是睡眠整个GUI。所以我只能看到一个空窗口。
代码:
npm install --save readdir
答案 0 :(得分:0)
Swing事件需要在Event Dispatch Thread上进行。
你试过吗
SwingUtilities.invokeAndWait(() -> Thread.sleep(20))
https://docs.oracle.com/javase/8/docs/api/javax/swing/SwingUtilities.html#invokeAndWait--?
答案 1 :(得分:0)
之前我遇到过这样的问题。所以你并不孤单。我犯了这样的错误。
您的问题
while (!enteredField) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
<强>解决方案强>
Thread thread = new Thread(() -> {
while (!enteredField) {
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.start();
*详细回复*
' W 你做过的就是你在while循环中创建了一个线程。基本上你暂停整个GUI 10毫秒,事实上整个程序。此外,我不明白你的目标是什么。你说你想等待用户点击GUI.Suggestions就是,听听按钮点击。例如Button.setOnAction(() - &gt; {});这会让他工作而不是睡觉。我只是你想要暂停或睡觉的唯一情况就是如果你是动画的东西。