libeyond_ 2014-11-06 08:54
浏览 798

进度条执行一次后,线程没有中断,第二次点击鼠标事件时不更新

我是设定boolean来中断线程,执行一次进度条后二次点击鼠标事件时不再更新且弹出的搜索条窗口不消失,导致界面不能进行任何操作,这是线程没中断引起的吗?我是在一个主main函数中执行的流程
JProgressBar comp = new JProgressBar(); //进度条
int value = 0;
private boolean bg001=true;
JDialog dialog = new JDialog((Frame)null,false);//窗口

dialog.add(comp); 窗口加进度条
dialog.setModal(true);
dialog.setSize(150, 30);
dialog.setLocationRelativeTo(getContentPane());
//鼠标事件
bb.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
startThread();//调用新线程执行进度条
search1(); //这是我要处理的搜索事件
bg001=false;
} });

//开启新线程
private void startThread(){

      new Thread() { 

public void run() {

while(bg001)
{
try {
comp.setValue(value++);

if (value == comp.getMaximum()) {

dialog.dispose();
}
sleep(20);
} catch (Exception e) {

}
}
}
}.start();
dialog.setVisible(true);

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!