gpt4 book ai didi

java - Thread.sleep和隐藏按钮

转载 作者:行者123 更新时间:2023-12-03 13:12:22 27 4
gpt4 key购买 nike

我在代码中遇到的问题是,当它运行button.setVisible(true);时,直到通过所有其他if语句后,它才会将按钮设置为可见,这确实使我感到困惑。

我正在尝试让simon说,这个try-catch的作用是使按顺序顺序的按钮闪烁,以便用户可以知道接下来是哪个按钮。

我是编程新手,所以欢迎您提供任何技巧和建议。
感谢您的关注!

try {

inputOrder.clear();
// System.out.println("THIS IS INPUT" + inputOrder);
Sequence.add(randomNumber());
int f = 0;
for (; f < Sequence.size(); f++) {

//Thread.sleep(2000);

if (Sequence.get(f) == 1) {
try {`
btnNewButton.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException e1) {

}
Thread.sleep(1000);
System.out.println("it ran here");
btnNewButton.setVisible(true);


}
if (Sequence.get(f) == 2) {
try {
btnBlue.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException e1) {

}Thread.sleep(1000);
System.out.println("it ran here");
btnBlue.setVisible(true);

}
if (Sequence.get(f) == 3) {
try {
btnYellow.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException e1) {

}Thread.sleep(1000);
System.out.println("it ran here");
btnYellow.setVisible(true);


}
if (Sequence.get(f) == 4) {
try {
btnGreen.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException e1) {

}
Thread.sleep(1000);
System.out.println("it ran here");
btnGreen.setVisible(true);

}
System.out.println(Sequence);
// Order.add(getColor(Sequence.get(f)));
System.out.println(Order);
text.setText(String.valueOf(Order.size()));

}

btnNextRound.setVisible(false);
} catch (InterruptedException e1) {
e1.printStackTrace();
}

最佳答案

似乎发生这种情况是因为您正在UI线程中执行此操作,并且由于您强制 hibernate UI线程,因此没有时间执行EventQueue,因为一旦完成所有 hibernate ,此线程就有机会实际进行绘制电话。

为了获得所需的输出,我认为您应该将 sleep 逻辑移到单独的线程或 SwingWorker 中。如果将逻辑移至单独的线程,则需要使用EventQueue.InvokeLater启用按钮。

关于java - Thread.sleep和隐藏按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28268749/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com