我有一個文本區域的擺動元素,我想顯示一些執行日誌。消息應在每個執行步驟後出現。例如「抓取已經開始」。但問題是,所有的日誌信息只出現一次後按鈕操作進行事件completed.Below是我用來顯示一些文本正在執行按鈕動作的文本區域未更新事件
getXmlButton = new JButton("Fetch Reports");
getXmlButton.addActionListener((new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
createDirectory();
stutusArea.append("Fetching has been started");
final String password = passwordTextField.getText();
final String username = loginTextField.getText();
OperatingSystemDriver os = new OperatingSystemDriver();
driver = os.getDriver();
stutusArea.append("getting some url");
driver.get(URL);
try {
LoginPage login = new LoginPage(driver);
login.loginAs(username, password);
stutusArea.append("successful login");
} catch (Exception e1) {
stutusArea.append("login error");
}
insertToDbButton.setEnabled(true);
}
}));
不要阻塞EDT(Event Dispatch Thread) - 當發生這種情況時,GUI將「凍結」。而是爲長時間運行的任務實施'SwingWorker'。有關更多詳細信息,請參見[Swing中的併發](http://docs.oracle.com/javase/tutorial/uiswing/concurrency/)。 – 2013-03-09 12:54:39