模块 java.desktop

类 JProgressBar

所有已实现的接口:
ImageObserver , MenuContainer , Serializable , Accessible , SwingConstants

@JavaBean (defaultProperty ="UI", description ="A component that displays an integer value.") public class JProgressBar extends JComponent implements SwingConstants , Accessible
可视化显示某些任务进度的组件。随着任务逐渐完成,进度条会显示任务的完成百分比。这个百分比通常由一个矩形直观地表示,该矩形开始时是空的,随着任务的进行逐渐被填满。此外,进度条可以显示此百分比的文本表示。

JProgressBar 使用 BoundedRangeModel 作为其数据模型,其中 value 属性代表任务的“当前”状态,minimummaximum 属性分别代表起点和终点。

要指示未知长度的任务正在执行,您可以将进度条置于不确定模式。当条处于不确定模式时,它会不断地显示动画以表明工作正在进行。一旦可以确定任务的长度和进度量,就应该更新进度条的值并将其切换回确定模式。

这是创建进度条的示例,其中 task 是一个对象(代表某项工作),它返回有关任务进度的信息:

progressBar = new JProgressBar(0, task.getLengthOfTask());
progressBar.setValue(0);
progressBar.setStringPainted(true);
这是查询任务当前状态并使用返回值更新进度条的示例:
progressBar.setValue(task.getCurrent());
这是将进度条置于不确定模式的示例,然后在长度达到任务已知:
progressBar = new JProgressBar();
...//when the task of (initially) unknown length begins: 
progressBar.setIndeterminate(true);
...//do some work; get length of task... 
progressBar.setMaximum(newLength);
progressBar.setValue(newValue);
progressBar.setIndeterminate(false);

有关完整示例和更多文档,请参阅 如何监控进度The Java Tutorial. 中的一个部分

Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

自从:
1.2
参见: