我有數據存儲在Jtable中,然後我逐行取出這些數據並將此數據傳遞給數據庫中的可調用過程(每次調用1次),並且過程返回該消息一旦完成,這個過程需要幾乎1-2分鐘的每個電話,有人可以告訴我如何顯示整個過程的單個進度欄。 (我的意思是所有通話都有一個進度條),我希望一旦循環結束,進度條就完成了。如何顯示過程調用的進度欄
我的代碼如下:
DefaultTableModel model = (DefaultTableModel) data.getModel();
for (int count = 0; count < model.getRowCount(); count++) {
CallableStatement csmt = con.prepareCall("{call CODE_REVIEW.PRC_WRAPPER_REVIEW(?,?,?,?)}");
String folder=model.getValueAt(count, 0).toString();
String type=model.getValueAt(count, 1).toString();
String name=model.getValueAt(count, 2).toString();
csmt.setString(1,name);
csmt.setString(2,type);
csmt.setString(3,folder);
csmt.registerOutParameter(4,java.sql.Types.VARCHAR);
csmt.execute();
String messege =csmt.getString(4);
}
爲此,您必須瞭解EDT(Event Dispatch Thread)的含義並使用線程執行循環並更新GUI中的進度條。通常使用SwingWorker線程,因爲它很容易實現。 – HpTerm
你應該在這裏檢查我舉的例子:http://stackoverflow.com/questions/10773552/jprogressbar-update-from-swingworker – HpTerm