1
我有一個奇怪的行爲,當我單擊開始按鈕時,我想要一個名爲status的JTextField來更改其文本以顯示用戶該文件正在處理中。但是,應用程序只是開始處理.txt文件,並且在文件處理期間從未更新狀態。JTextField在從txt文件讀取時沒有正確更新
代碼:
private void startButtonActionPerformed(java.awt.event.ActionEvent evt) {
statusTextField.setText("Processing files.");
int startLine = Integer.parseInt(startLineTextField.getText());
try {
if (selectedFile != null) {
if (selectedFile.getName().contains(".txt")) {
mainController.start(new FileInputStream(selectedFile), startLine);
statusTextField.setText("Finished !");
mainController.displayFoundAccounts();
} else if (selectedFile.getName().contains(".zip")) {
ZipFile zipFile = new ZipFile(selectedFile);
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = entries.nextElement();
InputStream inputStream = zipFile.getInputStream(entry);
mainController.start(inputStream, startLine);
}
statusTextField.setText("Finished !");
mainController.displayFoundAccounts();
}
} else {
System.out.println("No file selected.");
}
} catch (Exception ex) {
System.out.println("Error: " + ex);
Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
statusTextField.setText("Stopped.");
}
}
我不知道我在哪裏錯誤的,因爲statusTextField.setText("Processing files.");
被稱爲第一線。
謝謝。我創建了一個工作線程,它工作。 – Mythul