JProgressBar 无法自动更新是什么原因??
我在Main外定义了JButton JProgressBar 让Swing_mainWindows里其它函数能访问.
public class Swing_mainWindows {
private JButton button;
JProgressBar progressBar = new JProgressBar();
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
=============================================================================
修改progressBar的百分比
public void setJProgressBar(int a){
progressBar.setValue(a);
}
下面是BUTTON的MouseClicked过程,每完成一个就增加10%,但程序运行时进度条是不会一格一格动的,只会由按了BUTTON开始到结束完成后就到100%了,我还特意用hread.sleep(1000);暂停一下主程序但依然是不动!
button = new JButton("开始数据转换");
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(final MouseEvent arg0) {
try {
FunctionPro com = new FunctionPro();
Collection c2 = a.getselectcheckNew(19);
setJProgressBar(10);
hread.sleep(1000);
Collection c3 = a.getselectcheckNew(20);
setJProgressBar(progressBar.getValue()+10);
Collection c = com.linkCheckTime(c2,c3);
if(c.size() <=0)
{SetActionLable("没有新数据可转换");
setJProgressBar(100);
return;}
setJProgressBar(progressBar.getValue()+10);
// CHECKTIME USERID BADGENUMBER SENSORID
//取指纹记录集合 2008-06-24 08:06:31.000 1249 01006 19
//提取所有 单独 BADGENUMBER生成List
ArrayList st = com.FPBadgen(c);
// BPEID BPECode
//xuserver83221 01006
Collection c4 = b.getMainserverSSID(com.FPBadgenStr(st));
setJProgressBar(progressBar.getValue()+10);
Thread.sleep(1000);
// BPEID KH
//xuserver1174229 40561583
Collection c5 = b.getHRSendCheckInRs();
setJProgressBar(progressBar.getValue()+10);
Thread.sleep(1000);
//合成(i+"",KH,it.getBPEID(),"","","","","");
Collection c45 = com.CountBpHrc(c4,c5);
//查找丢失的KH到C45
Collection c46 = b.getNotFoundKHList(com.FPBadgenStr(com.getFoundHkList(c45)));
Collection c47 = com.HRDocatLinkKh(c45, c46);
Collection creatPass = com.HRDocatLink(c,c47);
setJProgressBar(progressBar.getValue()+10);
Thread.sleep(1000);
if(com.InsertSource(a,b,creatPass).endsWith(""))
SetActionLable("完成转换");
setJProgressBar(100);
} catch (InterruptedException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
});