例:
设进度条总长为100
public void a(){
  //  设进度条值为0
  new String("a");
  //设进度条值为25
  new String("a");
  //设进度条值为50
  new String("a");
  //设进度条值为75
  new String("a");
  //设进度条值为100
  
}这样可以么??

解决方案 »

  1.   

    我觉得hexiaofeng(java爱好者)的方法挺好,我想不出其他的了。:)
    可以人为地估计进度,在方法中相应的位置加入显示相应进度的语句。
      

  2.   

    难道java对进度线程方面做的如此失败?假如要得到一个精确的一系列文件读取的过程,那岂不是无能为力了?
      

  3.   

    如果你知道精确的最大值的话,就很简单用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调用。