我正試圖在更新我的GUI時實現SwingWorker線程。我明白process()方法是由EDT執行的,所以如果我需要更新GUI,我應該在該方法中放置更新代碼。Swing Worker Thread說沒有超類中的Process()方法
但是,當我嘗試重寫process()方法時,出現錯誤,Method未實現超類型的方法。
請問我是否丟失了某些東西或Process()方法不再存在?
class SwingWorkerThread extends SwingWorker<String, String> {
@Override
protected String doInBackground() throws Exception {
String Pub = "A";
for (int i = 0; i < 20; i++) {
Pub = String.valueOf(i);
publish(Pub);
}
return Pub;
}
@Override
protected String process(String h) {
System.out.println(Pub);
MainFrame.TextArea.setText(Pub);
return null;
}
@Override
protected void done() {
String status;
status = get();
try {
System.out.println("Done");
} catch (Exception ex) {
System.out.println("Error: " + ex);
}
}
}
除非這是一個內部類....這不會編譯。你甚至使用了一個合適的IDE,或者你只是在某些命令控制檯上插入某些東西? – specializt