|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JProgressBar
public class JProgressBar
以可视化形式显示某些任务进度的组件。在任务的完成进度中,进度条显示该任务完成的百分比。此百分比通常由一个矩形以可视化形式表示,该矩形开始是空的,随着任务的完成逐渐被填充。此外,进度条可显示此百分比的文本表示形式。
JProgressBar 使用 BoundedRangeModel 作为其数据模型,以 value 属性表示该任务的“当前”状态,minimum 和 maximum 属性分别表示开始点和结束点。
要指示正在执行一个未知长度的任务,可以将进度条设置为不确定模式。不确定模式的进度条持续地显示动画来表示正进行的操作。一旦可以确定任务长度和进度量,则应该更新进度条的值,将其切换回确定模式。
下面是一个创建进度条的示例,其中 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 中的 How to Monitor Progress 一节。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
BasicProgressBarUI,
BoundedRangeModel,
SwingWorker| 嵌套类摘要 | |
|---|---|
protected class |
JProgressBar.AccessibleJProgressBar
此类实现 JProgressBar 类的可访问性支持。 |
| 从类 javax.swing.JComponent 继承的嵌套类/接口 |
|---|
JComponent.AccessibleJComponent |
| 从类 java.awt.Container 继承的嵌套类/接口 |
|---|
Container.AccessibleAWTContainer |
| 从类 java.awt.Component 继承的嵌套类/接口 |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| 字段摘要 | |
|---|---|
protected ChangeEvent |
changeEvent
每个实例只需要一个 ChangeEvent,因为事件的唯一感兴趣属性是不可变源,即进度条。 |
protected ChangeListener |
changeListener
侦听由进度条的模型发送的更改事件,并将其再次指派到在此进度条上注册的更改事件侦听器。 |
protected BoundedRangeModel |
model
保存进度条数据的对象。 |
protected int |
orientation
进度条是水平的还是垂直的。 |
protected boolean |
paintBorder
是否显示围绕进度条的边框。 |
protected boolean |
paintString
是否在进度条上显示文本的字符串。 |
protected String |
progressString
可以在进度条上显示的可选字符串。 |
| 从类 javax.swing.JComponent 继承的字段 |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| 从类 java.awt.Component 继承的字段 |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| 从接口 javax.swing.SwingConstants 继承的字段 |
|---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
| 从接口 java.awt.image.ImageObserver 继承的字段 |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| 构造方法摘要 | |
|---|---|
JProgressBar()
创建一个显示边框但不带进度字符串的水平进度条。 |
|
JProgressBar(BoundedRangeModel newModel)
创建使用指定的保存进度条数据模型的水平进度条。 |
|
JProgressBar(int orient)
创建具有指定方向( SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL)的进度条。 |
|
JProgressBar(int min,
int max)
创建具有指定最小值和最大值的水平进度条。 |
|
JProgressBar(int orient,
int min,
int max)
创建使用指定方向、最小值和最大值的进度条。 |
|
| 方法摘要 | |
|---|---|
void |
addChangeListener(ChangeListener l)
将指定的 ChangeListener 添加到进度条。 |
protected ChangeListener |
createChangeListener()
要以不同方式处理来自模型的更改事件的子类可以重写此方法,以返回自定义 ChangeListener 实现的实例。 |
protected void |
fireStateChanged()
将一个 ChangeEvent(其源是此 JProgressBar)发送给针对 ChangeEvent 的所有已注册 ChangeListener。 |
AccessibleContext |
getAccessibleContext()
获得与此 JProgressBar 关联的 AccessibleContext。 |
ChangeListener[] |
getChangeListeners()
返回通过 addChangeListener 添加到此进度条的所有 ChangeListener 组成的数组。 |
int |
getMaximum()
从 BoundedRangeModel 返回进度条的 maximum 值。 |
int |
getMinimum()
从 BoundedRangeModel 返回进度条的 minimum 值。 |
BoundedRangeModel |
getModel()
返回此进度条使用的数据模型。 |
int |
getOrientation()
根据进度条的方向返回 SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。 |
double |
getPercentComplete()
返回进度条的完成百分比。 |
String |
getString()
返回当前进度的 String 表示形式。 |
ProgressBarUI |
getUI()
返回呈现此组件的外观对象。 |
String |
getUIClassID()
返回呈现此组件的外观类的名称。 |
int |
getValue()
从 BoundedRangeModel 返回进度条的当前 value。 |
boolean |
isBorderPainted()
返回 borderPainted 属性。 |
boolean |
isIndeterminate()
返回 indeterminate 属性的值。 |
boolean |
isStringPainted()
返回 stringPainted 属性的值。 |
protected void |
paintBorder(Graphics g)
如果 borderPainted 属性为 true,则绘制进度条的边框。 |
protected String |
paramString()
返回此 JProgressBar 的字符串表示形式。 |
void |
removeChangeListener(ChangeListener l)
从进度条移除 ChangeListener。 |
void |
setBorderPainted(boolean b)
设置 borderPainted 属性,如果进度条应该绘制其边框,则此属性为 true。 |
void |
setIndeterminate(boolean newValue)
设置进度条的 indeterminate 属性,该属性确定进度条处于确定模式中还是处于不确定模式中。 |
void |
setMaximum(int n)
将进度条的最大值(存储在进度条的数据模型中)设置为 n。 |
void |
setMinimum(int n)
将进度条的最小值(存储在进度条的数据模型中)设置为 n。 |
void |
setModel(BoundedRangeModel newModel)
设置 JProgressBar 使用的数据模型。 |
void |
setOrientation(int newOrientation)
将进度条的方向设置为 newOrientation(必须为 SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL)。 |
void |
setString(String s)
设置进度字符串的值。 |
void |
setStringPainted(boolean b)
设置 stringPainted 属性的值,该属性确定进度条是否应该呈现进度字符串。 |
void |
setUI(ProgressBarUI ui)
设置呈现此组件的外观对象。 |
void |
setValue(int n)
将进度条的当前值设置为 n。 |
void |
updateUI()
将 UI 属性重置为当前外观对应的值。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 字段详细信息 |
|---|
protected int orientation
HORIZONTAL。
setOrientation(int)protected boolean paintBorder
true。
setBorderPainted(boolean)protected BoundedRangeModel model
setModel(javax.swing.BoundedRangeModel)protected String progressString
null。将此值设置为非 null 值并不表示将显示该字符串。要显示该字符串,paintString 必须为 true。
setString(java.lang.String),
setStringPainted(boolean)protected boolean paintString
false。将此值设置为 true 可在进度条上呈现进度的文本显示。如果 progressString 为 null,则在进度条上显示完成的百分比。否则,在进度条上呈现 progressString。
setStringPainted(boolean),
setString(java.lang.String)protected transient ChangeEvent changeEvent
ChangeEvent,因为事件的唯一感兴趣属性是不可变源,即进度条。首次触发该事件通知以延迟方式创建该事件。
fireStateChanged()protected ChangeListener changeListener
createChangeListener()| 构造方法详细信息 |
|---|
public JProgressBar()
setOrientation(int),
setBorderPainted(boolean),
setStringPainted(boolean),
setString(java.lang.String),
setIndeterminate(boolean)public JProgressBar(int orient)
SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL)的进度条。默认情况下,绘制边框但不绘制进度字符串。初始值和最小值都为 0,最大值为 100。
orient - 所需进度条方向
IllegalArgumentException - 如果 orient 为非法值setOrientation(int),
setBorderPainted(boolean),
setStringPainted(boolean),
setString(java.lang.String),
setIndeterminate(boolean)
public JProgressBar(int min,
int max)
保存进度条数据的 BoundedRangeModel 可处理由于在进度条上不正确地设置了最小值、初始值和最大值而引起的任何问题。有关详细信息,请参阅 BoundedRangeModel 文档。
min - 进度条的最小值max - 进度条的最大值BoundedRangeModel,
setOrientation(int),
setBorderPainted(boolean),
setStringPainted(boolean),
setString(java.lang.String),
setIndeterminate(boolean)
public JProgressBar(int orient,
int min,
int max)
保存进度条数据的 BoundedRangeModel 可处理由于在进度条上不正确地设置了最小值、初始值和最大值而引起的任何问题。有关详细信息,请参阅 BoundedRangeModel 文档。
orient - 所需的进度条方向min - 进度条的最小值max - 进度条的最大值
IllegalArgumentException - 如果 orient 为非法值BoundedRangeModel,
setOrientation(int),
setBorderPainted(boolean),
setStringPainted(boolean),
setString(java.lang.String),
setIndeterminate(boolean)public JProgressBar(BoundedRangeModel newModel)
newModel - 进度条的数据模型。setOrientation(int),
setBorderPainted(boolean),
setStringPainted(boolean),
setString(java.lang.String),
setIndeterminate(boolean)| 方法详细信息 |
|---|
public int getOrientation()
SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。默认方向为 SwingConstants.HORIZONTAL。
HORIZONTAL 或 VERTICALsetOrientation(int)public void setOrientation(int newOrientation)
newOrientation(必须为 SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL)。默认方向为 SwingConstants.HORIZONTAL。
newOrientation - HORIZONTAL 或 VERTICAL
IllegalArgumentException - 如果 newOrientation 为非法值getOrientation()public boolean isStringPainted()
stringPainted 属性的值。
stringPainted 属性的值setStringPainted(boolean),
setString(java.lang.String)public void setStringPainted(boolean b)
stringPainted 属性的值,该属性确定进度条是否应该呈现进度字符串。默认值为 false,意味着不绘制任何字符串。有些外观可能不支持进度字符串,或者只有在进度条处于确定模式时才支持它们。
b - 如果进度条应该呈现字符串,则该参数为 trueisStringPainted(),
setString(java.lang.String)public String getString()
String 表示形式。默认情况下,此方法根据从 getPercentComplete 返回的值返回一个简单的百分比 String。比如说 "42%"。可通过调用 setString 更改该字符串。
null,则返回一个简单的百分比字符串setString(java.lang.String)public void setString(String s)
null,隐含使用简单百分比字符串的内置行为。如果已提供自定义进度字符串并要转换回内置状态,将字符串设置回 null 即可。
仅当 isStringPainted 方法返回 true 时绘制进度字符串。
s - 进度字符串的值getString(),
setStringPainted(boolean),
isStringPainted()public double getPercentComplete()
public boolean isBorderPainted()
borderPainted 属性。
borderPainted 属性的值setBorderPainted(boolean)public void setBorderPainted(boolean b)
borderPainted 属性,如果进度条应该绘制其边框,则此属性为 true。此属性的默认值为 true。一些外观也许不实现绘制的边框;它们将忽略此属性。
b - 如果进度条应该绘制边框,则为 true;否则为 falseisBorderPainted()protected void paintBorder(Graphics g)
borderPainted 属性为 true,则绘制进度条的边框。
JComponent 中的 paintBorderg - 用于绘制边框的 Graphics 上下文JComponent.paint(java.awt.Graphics),
JComponent.setBorder(javax.swing.border.Border),
isBorderPainted(),
setBorderPainted(boolean)public ProgressBarUI getUI()
ProgressBarUI 对象public void setUI(ProgressBarUI ui)
ui - ProgressBarUI L&F 对象UIDefaults.getUI(javax.swing.JComponent)public void updateUI()
JComponent 中的 updateUIJComponent.updateUI()public String getUIClassID()
JComponent 中的 getUIClassIDJComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)protected ChangeListener createChangeListener()
ChangeListener 实现的实例。默认 ChangeListener 调用 fireStateChanged 方法将 ChangeEvent 转发给直接添加到进度条的 ChangeListener。
changeListener,
fireStateChanged(),
ChangeListener,
BoundedRangeModelpublic void addChangeListener(ChangeListener l)
ChangeListener 添加到进度条。
l - 要添加的 ChangeListenerpublic void removeChangeListener(ChangeListener l)
ChangeListener。
l - 要移除的 ChangeListenerpublic ChangeListener[] getChangeListeners()
addChangeListener 添加到此进度条的所有 ChangeListener 组成的数组。
ChangeListener;如果没有添加任何侦听器,则返回一个空数组protected void fireStateChanged()
ChangeEvent(其源是此 JProgressBar)发送给针对 ChangeEvent 的所有已注册 ChangeListener。每次从该模型接收 ChangeEvent 时调用此方法。
如果需要,将创建事件实例并存储在 changeEvent 中。
addChangeListener(javax.swing.event.ChangeListener),
EventListenerListpublic BoundedRangeModel getModel()
BoundedRangeModelsetModel(javax.swing.BoundedRangeModel),
BoundedRangeModelpublic void setModel(BoundedRangeModel newModel)
JProgressBar 使用的数据模型。注意,BoundedRangeModel 的 extent 未被使用,并设置为 0。
newModel - 要使用的 BoundedRangeModelpublic int getValue()
BoundedRangeModel 返回进度条的当前 value。该值始终介于最小值和最大值之间(包括两者)。
setValue(int),
BoundedRangeModel.getValue()public int getMinimum()
BoundedRangeModel 返回进度条的 minimum 值。
setMinimum(int),
BoundedRangeModel.getMinimum()public int getMaximum()
BoundedRangeModel 返回进度条的 maximum 值。
setMaximum(int),
BoundedRangeModel.getMaximum()public void setValue(int n)
n。此方法将新值转发到该模型。
数据模型(BoundedRangeModel 实例)处理因赋值不当而引起的所有数学问题。有关详细信息,请参阅 BoundedRangeModel 文档。
如果新值不同于以前的值,则通知所有的更改侦听器。
n - 新值getValue(),
addChangeListener(javax.swing.event.ChangeListener),
BoundedRangeModel.setValue(int)public void setMinimum(int n)
n。
数据模型(BoundedRangeModel 实例)处理因赋值不当而引起的所有数学问题。有关详细信息,请参阅 BoundedRangeModel 文档。
如果该最小值不同于以前的最小值,则通知所有的更改侦听器。
n - 新值getMinimum(),
addChangeListener(javax.swing.event.ChangeListener),
BoundedRangeModel.setMinimum(int)public void setMaximum(int n)
n。
底层 BoundedRangeModel 处理因赋值不当而引起的所有数学问题。有关详细信息,请参阅 BoundedRangeModel 文档。
如果该最大值不同于以前的最大值,则通知所有的更改侦听器。
n - 新最大值getMaximum(),
addChangeListener(javax.swing.event.ChangeListener),
BoundedRangeModel.setMaximum(int)public void setIndeterminate(boolean newValue)
indeterminate 属性,该属性确定进度条处于确定模式中还是处于不确定模式中。不确定进度条连续地显示动画,指示发生未知长度的操作。默认情况下,此属性为 false。有些外观可能不支持不确定进度条;它们将忽略此属性。
请参阅 How to Monitor Progress 以获取使用不确定进度条的示例。
newValue - 如果进度条应该更改为不确定模式,则为 true;如果应该转换回常规模式,则为 false。isIndeterminate(),
BasicProgressBarUIpublic boolean isIndeterminate()
indeterminate 属性的值。
indeterminate 属性的值setIndeterminate(boolean)protected String paramString()
JProgressBar 的字符串表示形式。此方法仅用于调试目的。返回的字符串内容和格式在各种实现间可能各不相同。返回的字符串可能为空,但不可能为 null。
JComponent 中的 paramStringJProgressBar 的字符串表示形式public AccessibleContext getAccessibleContext()
JProgressBar 关联的 AccessibleContext。对于进度条,AccessibleContext 采用 AccessibleJProgressBar 的形式。必要时要创建新的 AccessibleJProgressBar 实例。
Accessible 中的 getAccessibleContextJComponent 中的 getAccessibleContextAccessibleJProgressBar,它将充当此 JProgressBar 的 AccessibleContext
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。