【发布时间】:2013-12-28 04:17:29
【问题描述】:
我有数据存储在 Jtable 中,然后我逐行获取这些数据并将这些数据传递给数据库中的可调用过程(每行调用 1 次),过程完成后返回消息,这个过程几乎需要每次通话 1-2 分钟,有人可以告诉我如何为整个过程显示单个进度条。 (我的意思是所有通话都有 1 个进度条),我希望在循环结束后完成进度条。
我的代码如下:
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(事件调度线程)并使用线程来执行循环并更新 GUI 中的进度条。通常使用 SwingWorker 线程,因为它易于实现。
-
你应该在这里查看我举的例子:stackoverflow.com/questions/10773552/…
标签: java swing jdbc jtable jprogressbar