一个小程序

一个小程序packagecom.wsy;importjava.awt.BorderLayout;importjavax.swing.JFrame;importjavax.... 一个小程序
package com.wsy;

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class InterruptedSwing extends JFrame{

Thread thread;
public static void main(String[] args) {
init(new InterruptedSwing(),100,100);

}
public InterruptedSwing() {
super();

final JProgressBar progressBar = new JProgressBar();
getContentPane().add(progressBar, BorderLayout.NORTH);
progressBar.setStringPainted(true);
thread=new Thread(new Runnable(){
int count=0;
public void run(){
while(true){
progressBar.setValue(++count);
try{
thread.sleep(1000);

}catch(InterruptedException e){
System.out.println("当前线程序被中断");
}
}
}
});
thread.start();
thread.interrupt();
}
public static void init(JFrame frame,int width,int height){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}

}
这个控制台输出了 当前线程序被中断
但是 中断了 怎么进度条还一直递增递增到100呢
不是已经中断了吗
展开
 我来答
mzocean
2010-07-25 · TA获得超过1083个赞
知道小有建树答主
回答量:492
采纳率:33%
帮助的人:465万
展开全部
你的线程被中断了,但是while循环没有跳出,也就是说你你的线程先开始了,中断了一次,sleep了1000毫秒之后就不再次被中断了,所以说进度条还在增加。我的解决办法是在你的catch语句中加一个break,跳出while语句,这样循环就会停止了,进度条也就不会增加了。
cqu_daniel
2010-07-28
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
1111
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式