【发布时间】:2014-11-09 09:09:44
【问题描述】:
Hy.
在以我 (java newbe) 无法理解的方式寻找这个答案之后,我决定去问。我的程序包含在一个 JFrame 表单中,它带有一个启动例程的按钮。
- JChooser 获取文件夹
- 获取该文件夹中所有文件的列表
开始一个for(循环) 3. 解压缩每个文件 (.tgz) 的过程。展开的 tgz 显示一个 .tar 4. 展开焦油的进程。 5. 从 .tar 获取 .csv 文件并进行一些更改的另一个过程。 结束for
所有这些都在 (private void btPegaDirActionPerformed(java.awt.event.ActionEvent evt)) 中。但我有一个 textarea(名称是 txtDisplay),它只在孔处理后更新。好的,我知道 Swing 必须有一个外部进程在进程结束时实时更新(即 unpiz #1、unzip #2、更改 CSV),我不知道如何创建外部进程。
这里是代码。
private void btPegaDirActionPerformed(java.awt.event.ActionEvent evt) {
JCHooser....
Get file to array (between 28 to 32 files)
for (File arqTGZ : files) {
try {
unzip tgz (unfolds a tar)
System.out.println("Unzip OK")
(must updata java textarea here)
unzip tar (unfolds a csv)
System.out.println("Unzip OK")
(must updata java textarea here)
change CSV
System.out.println("CSV Saved")
(must updata java textarea here)
}
}
}
就是这样。有人可以帮帮我吗?
【问题讨论】:
-
我认为你需要将你的程序(和你的问题)分解成更小的块。尝试只写“更新 CSV”的部分,而不用担心文本区域或 tar 文件。然后在遇到困难时提出问题。
标签: java multithreading swing textarea updating