Java GUI和线程

Edy*_*ore 1 java multithreading thread-safety

我有一个GUI有textarea和按钮等.........

我有一个不同的类,这是一个不断运行的线程.我想在线程类中满足某些条件时将文本附加到textarea.

在包含textarea的类中,我有textarea的getter方法.我还将类(包含textarea)声明为线程类中的变量.

我尝试在变量上调用textarea的get方法,然后调用append()方法,但textarea不会自行更新.

我究竟做错了什么?

谢谢你的帮助.

Jac*_*ack 5

重点是你必须关注Sun根据Swing的线程管理给出的指导,你可以看看这里.

你将明白的是,你必须派遣GUI相关事件与SwingUtilities.invokeLater(..)SwingUtilities.invokeAndWait(..)根据您的具体情况.这是因为GUI事件由事件调度线程管理,您不应该在自己的线程中管理它们.