我第一次尝试弄乱 progressBar。我想使用进度条记录线程 --- 我看过 this但它没有帮助。
有人知道怎么做吗?
我尝试使用 mp3 文件的字节来更新进度条,但我没有成功。 我想使用我用来播放 mp3 文件的线程。
这是 mp3 播放器的屏幕截图。
最佳答案
通常的问题是,在更新进度条的值时,您还需要适当的 GUI 刷新。前段时间我用进度条做了异步加载,我用的正是那个教程。
请注意,对于压缩音频文件,字节计数器的使用可能不准确,如果最初没有进行完全解压,可能不是您想要的。
当然,您必须使用 constructor 适本地设置进度条的值以及最小值和最大值。和/或 setMaximum() , setMinimum()和 setValue() , 在开始播放之前,例如
progressBar.setMinimum(0);
progressBar.setMaximum(totalTime);
progressBar.setValue(0);
但不是
progressBar.setValue(elapsedTime);
在您的工作线程中,使用PropertyChangeListener
接口(interface)和setProgress() SwingWorker
来自 worker 实例,如下例所示。
只需根据您的需要调整代码:
关于java - 如何使用progressBar查看线程进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787016/