gpt4 book ai didi

java - 奇怪的错误 - 如何暂停 java 程序?

转载 作者:行者123 更新时间:2023-11-30 05:54:00 24 4
gpt4 key购买 nike

我正在尝试:

  1. 在 jLabel 中显示文本,
  2. 等两秒钟,
  3. 然后在jLabel中写一个新文本

这应该很简单,但我遇到了一个奇怪的错误:第一个文本从不写入,应用程序只等待 2 秒,然后显示最终文本。这是示例代码:


private void testButtonActionPerformed(java.awt.event.ActionEvent evt) {    
displayLabel.setText("Clicked!");

// first method with System timer

/*
long t0= System.currentTimeMillis();
long t1= System.currentTimeMillis();
do{
t1 = System.currentTimeMillis();
}
while ((t1 - t0) < (2000));
*/

// second method with thread.sleep()

try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {}

displayLabel.setText("STOP");
}

使用此代码,文本“Clicked!”永远不会显示。我只得到 2 秒 - 暂停,然后是“停止”文本。我尝试将系统计时器与循环或 Thread.sleep() 一起使用,但这两种方法都给出了相同的结果。

最佳答案

只是为了提供更多关于 Andrew Thompson 评论的背景:EDT 负责处理图形用户界面更新。如果您使用 Thread.sleep(...) 阻止它,那么这些更新也会被阻止。这就是您看不到第一个文本的原因 - EDT 无法对标签进行更新。

关于java - 奇怪的错误 - 如何暂停 java 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9853378/

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