关于这个问题,
当我从主应用程序启动一个线程时,让我们说进程A在后台运行并更新一个文本框,说明它正在运行并在它停止运行时完成。
如何在正在运行的线程中编写更新线程外文本框的代码?
答案 0 :(得分:3)
你需要一个指向文本框的指针。 线程无法更新文本框 - 在摆动中,必须从事件派发线程执行所有GUI命令。
你必须这样做:
SwingUtilities.invokeLater ( new Runnable(){
public void run(){
// draw textbox code
}
});
这会将对象添加到事件调度线程
执行的队列中编辑: 只是一个提示: 在新的Runnable(){...}(一个匿名类)中,您将无法使用外部作用域中的常规变量。您必须将变量定义为final,或使用getter获取文本框(或通过某些静态字段对其进行寻址)。