2

我第一次尝试弄乱progressBar。我想使用 progressBar 记录线程 --- 我确实看过这个,但它没有帮助。

有谁知道如何做到这一点?

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

这是mp3播放器的截图。

我正在开发的 mp3 播放器

4

2 回答 2

1

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

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

当然,在开始播放之前,您必须使用构造函数和/或setMaximum()setMinimum()setValue()适当地设置进度条的值和最小值和最大值,例如

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

不是

progressBar.setValue(elapsedTime);

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

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

于 2013-02-09T10:34:39.347 回答
0

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

于 2013-02-09T10:15:10.273 回答