我在使用不是封装类的 SwingWorker 类传递信息、更新进度和指示“完成”时遇到问题。
我有一个简单的类来处理硬盘驱动器上的文件和目录。用户单击“开始”按钮并启动 SwingWorker 的一个实例。
我想打印在来自 SwingWorker 的事件驱动线程中的 JTextArea 上处理的文件的名称作为更新进度条。网上所有的例子都是针对嵌套类的,嵌套类访问的是外部类中的变量(比如done
方法)。我还想通知事件驱动线程 SwingWorker 已完成,以便 EDT 可以执行诸如启用“开始”按钮(和清除字段)之类的操作。
以下是我的问题: 1. SwingWorker 类如何将文本放入事件驱动线程的 JTextArea 并更新进度条?
- EDT 如何确定 { external } SwingWorker 线程何时完成?
{我不希望 SwingWorker 作为嵌套类,因为已经完成了很多代码(和处理)。}