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