我想执行一个线程,它应该在特定的时间间隔后得到一些结果。现在我想在JTextArea. 如何从线程进行事件JTextArea?
1 回答
2
这取决于你如何建立你的后台任务。
如果您使用的是普通的Threador Runnable,则需要在事件调度线程 (ETD) 上触发一个事件,以确保您对 UI 所做的任何更改都发生在 EDT 中。
Swing 提供了一种简单的机制,允许您将 a 排入Runnable事件队列,其run方法将在 EDT 中执行。
// Inside you thread...
// Some block action...
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// Executing within the EDT...
}
});
看一眼
一个更简单的解决方案可能是使用 aSwingWorker而不是 plain Thread。这将允许您对方法内的工作人员的完成采取行动done(在 EDT 内为您执行)
看一眼
于 2012-10-14T22:26:20.517 回答