JProgressBar 无法自动更新是什么原因??

jackwin jackwin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在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();
}
}
});
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
jackwin
Java SE 62,620 成员 307,251 内容