如何使用progressBar查看线程进度

时间:2013-02-09 10:12:27

标签: java multithreading progress-bar

我第一次尝试使用progressBar。我想使用progressBar保留线程的记录---我确实看了this但它没有帮助。

有谁知道怎么做?

我尝试使用mp3文件的字节来更新progressBar但是我没有成功。 我想使用我用来播放mp3文件的线程。

这是mp3播放器的截图。

The mp3 player I'm working on

2 个答案:

答案 0 :(得分:1)

通常的问题是,在更新进度条的值时,您还需要正确的GUI刷新。我前段时间使用进度条进行了异步加载,我完全使用了该教程。

请注意,对于压缩音频文件,字节计数器的使用可能不准确,最初没有完全解压缩,可能不是您想要的。

当然,您必须设置进度条的值和min&在开始播放前,最好使用constructor和/或setMaximum()setMinimum()setValue(),例如。

progressBar.setMinimum(0);
progressBar.setMaximum(totalTime);
progressBar.setValue(0);

不是

progressBar.setValue(elapsedTime);
从工作线程

,使用工作线实例中的PropertyChangeListener接口和SwingWorker setProgress(),如下例所示。 只需根据您的需求调整代码:

http://docs.oracle.com/javase/tutorial/uiswing/examples/components/ProgressBarDemoProject/src/components/ProgressBarDemo.java

答案 1 :(得分:0)

如果允许HTML5,您可以查看新的进度标记:http://www.w3schools.com/tags/tag_progress.asp