gpt4 book ai didi

java - 如何通过另一个线程更新我的 jLabel?

转载 作者:行者123 更新时间:2023-12-01 16:58:33 25 4
gpt4 key购买 nike

因此,我建立了一个在另一个线程上运行的套接字连接。现在我想在每次接受连接时更新连接数。但是公共(public)变量的更改会反射(reflect),但不会反射(reflect)在标签的 GUI 中。这是我的一段代码:

while(flag){
try{
s = ss2.accept();
ob.inc();
System.out.print(ob.counter.getText());
String x = ob.counter.getText();
System.out.println(x);
System.out.println("connection Established");

}

catch(Exception e){
e.printStackTrace();
System.out.println("Connection Error");

}

} }

GUI部分的代码是:

public void inc()
{
ctr++;
counter.setText(String.valueOf(ctr));
counter.repaint();
}

谁能告诉我如何动态更改 jLabel 值?

最佳答案

如果 inc() 是从工作线程(而不是主线程或 UI 线程)调用的,那么您需要将该调用包装在 SwingUtilities.invokeLater() 中.

关于java - 如何通过另一个线程更新我的 jLabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61550337/

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