如何逐步更新 JProgressBar



我想获取波形的最大长度,播放曲目并使用JProgressBar显示其播放进度。这是我到目前为止所做的,但进度条没有更新。

Timer t = new Timer(1000,this);
private void playButtonMousePressed(java.awt.event.MouseEvent evt)   {                                        
    // TODO add your handling code here:
   try{
       t.start();
    String track = "tele";
    music = new MusicFunctions(track);
   // music.play(track);
    int progressInit = 0;
    final int len = music.trackLength();
    int tLength = music.trackLength();
    jProgressBar1.setMinimum(0);
    jProgressBar1.setMaximum(len);

    while(i<=len){
    jProgressBar1.setValue(i);
    jProgressBar1.repaint();
    i++;
    }
   }catch(Exception e){
       System.out.println(e);
}                                       
}

参见 SwingWorker 文档;该示例甚至用于更新进度条:http://docs.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html。

最新更新