0

我想执行一个线程,它应该在特定的时间间隔后得到一些结果。现在我想在JTextArea. 如何从线程进行事件JTextArea

4

1 回答 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 回答