图片下载完了,呵进度条缺没显示完成 private void Update(final MyThread trd, final int i) {
Thread t = new Thread(id) {
public void run() {
while (true) {
if (trd.getFlag() == 2) {  //==2 下载完成
table.setValueAt("go", i, 6);
break;
} if (trd.getLen() > 0) { //trd.getLen() 图片大小字节数
table.setValueAt(getLength(trd.getLen()), i, 3);
table.setValueAt("start", i, 6);
}
if (trd.getRead() > 0) { //trd.getRead() 当前读取字节数
int k = (int) trd.getRead() / 1024;
int p = k * 100 / (int) (trd.getLen() / 1024);
table.setValueAt(String.valueOf(p), i, 4);
} try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
t.start();
}

解决方案 »

  1.   

    晕,帖子不能修改,回帖还没UBB标签,郁闷,CSDN 咋想滴丫
      

  2.   

    看看我这个
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.JProgressBar;
    import javax.swing.*;
    public class progressbardemo extends JFrame
    {
    protected int m_min=0;
    protected int m_max=100;
    protected int m_counter=0;
    protected JProgressBar jpb;

    public progressbardemo()
    {
    super("进度条的小程序");
    jpb=new JProgressBar();
    jpb.setMinimum(m_min);
    jpb.setMaximum(m_max);
    jpb.setStringPainted(true);
    JButton start=new JButton("开始");
    start.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    new updatethread().start();
    }
    });
    getContentPane().add(jpb,BorderLayout.CENTER);
    getContentPane().add(start,BorderLayout.WEST);
    setSize(300,70);
    setVisible(true);




    }




    public static void main (String[] args) {
    progressbardemo frm=new progressbardemo();
    frm.addWindowListener(new WindowAdapter(){
    public void windowclosing(WindowEvent e){
    System.exit(0);
    }
    });
    }

    class updatethread extends Thread{
         Runnable runme;
         public updatethread(){
         runme=new Runnable(){
         public void run(){
         jpb.setValue(m_counter);
         }
         };
        
         }
        
         public void run(){
         m_counter=m_min;
         while(m_counter<=m_max){
         SwingUtilities.invokeLater(runme);
         m_counter=m_counter+1;
         try {
         Thread.sleep(50);
         }
        
         catch(Exception ex){}
        
         }
        
                             }
     }
     
    }