我有一个应用程序,它读取100个输入文件并生成一个CSV。我希望显示在jLabel中读取的当前文件。怎么做到这一点?
我只为用户提供了一个上传按钮。用户将使用绝对路径上传所有文件名。应用程序读取所有文件并生成csv。
答案 0 :(得分:3)
您可能希望使用SwingWorker
来读取所有文件。然后在SwingWorker
中,您将publish
当前正在读取的文件的名称。然后在process(...)
的{{1}}方法中,使用已发布的值更新标签。
阅读Tasks That Have Interim Results上的Swing教程中的部分,了解更多信息以及SwingWorker
的工作示例。
另一个选项是创建一个单独的线程来读取文件,然后在那个线程中,只要你想更新标签就调用SwingWorker
。这基本上就是SwingWorker在正式API中为您所做的事情。