当前位置: 技术问答>java相关
如何制作进度条?
来源: 互联网 发布时间:2015-09-12
本文导语: 有三个运行时间很长的方法,偶想给这三个方法加个进度条,关键是不知道进度条的长度。偶的jdk是1.3的。。 哪位大虾得知,请告诉偶。偶立即给他100分(最好有源码)。 | 如果你知道精确...
有三个运行时间很长的方法,偶想给这三个方法加个进度条,关键是不知道进度条的长度。偶的jdk是1.3的。。
哪位大虾得知,请告诉偶。偶立即给他100分(最好有源码)。
哪位大虾得知,请告诉偶。偶立即给他100分(最好有源码)。
|
如果你知道精确的最大值的话,就很简单
用JProgressBar.setMaximum(intvalue);
JProgressBar.setMinimum(intvalue);来控制就好了
比如说下载文件,首先取得文件大小size
然后JProgressBar bar = new JProgressBar ();
bar.setMaximum(size);
bar.setMinimum(0);
接着用 某个InputStream读数据
int count = 0;
while((int len=in.read(buffer))>=0) {
//用 count 来设置bar的长度
count += len;
bar.setValue(count);
}
就是这样,不过如果想要得到连续的效果,这段代码需要放到单独的Thread中,并且bar.setValue(count);需要用invokeLater调用。
用JProgressBar.setMaximum(intvalue);
JProgressBar.setMinimum(intvalue);来控制就好了
比如说下载文件,首先取得文件大小size
然后JProgressBar bar = new JProgressBar ();
bar.setMaximum(size);
bar.setMinimum(0);
接着用 某个InputStream读数据
int count = 0;
while((int len=in.read(buffer))>=0) {
//用 count 来设置bar的长度
count += len;
bar.setValue(count);
}
就是这样,不过如果想要得到连续的效果,这段代码需要放到单独的Thread中,并且bar.setValue(count);需要用invokeLater调用。