模块  java.desktop
软件包  javax.swing

Class JProgressBar

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessibleSwingConstants

    @JavaBean(defaultProperty="UI",          description="A component that displays an integer value.")public class JProgressBarextends JComponentimplements 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); 

    有关完整示例和更多文档,请参阅“Java教程” How to Monitor Progress部分

    警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy

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

    从以下版本开始:
    1.2
    另请参见:
    BasicProgressBarUIBoundedRangeModelSwingWorkerSerialized Form