gpt4 book ai didi

java - 在 Java 的 Swing GUI 中使用线程

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:13 26 4
gpt4 key购买 nike

我正在使用以下代码,每 0.5 秒用相同的句子替换一个 JLabel,但用另一个点。

    Runnable r1=new Runnable() {
@Override
public void run() {
while(true){
try {
connectionStatus.setText("Connection Established...");
Thread.sleep(500L);
connectionStatus.setText("Connection Established.");
Thread.sleep(500L);
connectionStatus.setText("Connection Established..");
Thread.sleep(500L);
} catch (InterruptedException ex) {

}
}
}
};
Thread th1=new Thread(r1);
th1.start();

这是使用线程的真正目的吗?这会影响程序的速度吗?如果我正在做的事情如此愚蠢,那么还有其他方法可以做这些愚蠢的事情吗?

最佳答案

Is this the real purpose from using threads?

如果您希望这些操作并行那么答案是肯定的

is there any other way to do such stupid things?

如果您以固定的时间间隔更新标签,那么您可能应该使用 Timer而不是

旁注:

  • 在进行多线程处理时,您应该避免使用 while(true),您应该定义一个在循环中测试的停止 boolean 值,或者使用 Thread.interrupted() 如果你扩展了 Thread
  • 从非 EDT 线程更新 UI 元素时,您应该使用 SwingUtilities.invokeLater

关于java - 在 Java 的 Swing GUI 中使用线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11280596/

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