gpt4 book ai didi

java - 如何 - Java 线程访问其他线程 (SWING)

转载 作者:行者123 更新时间:2023-12-03 12:57:02 25 4
gpt4 key购买 nike

关于问题,

当我从主应用程序启动一个线程时,假设进程 A 在后台运行并更新线程外部的文本框,说它正在运行并在它停止运行时完成。

我如何编写从正在运行的线程内更新线程外文本框的代码?

最佳答案

你需要一个指向文本框的指针。
线程 不能 更新文本框 - 在 Swing 中,所有 GUI 命令都必须从事件调度线程中执行。

你必须这样做:

SwingUtilities.invokeLater ( new Runnable(){
public void run(){
// draw textbox code
}
});

这会将对象添加到由事件调度线程执行的队列中

编辑:
只是一个提示:
在 new Runnable(){ ... } 中,这是一个匿名类,您将无法使用外部作用域中的常规变量。您必须将变量定义为 final,或者使用 getter 来获取文本框(或通过某个静态字段对其进行寻址)。

关于java - 如何 - Java 线程访问其他线程 (SWING),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7370841/

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