|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.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
或 VERTICAL
setOrientation(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
- 如果进度条应该呈现字符串,则该参数为 true
isStringPainted()
,
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
;否则为 false
isBorderPainted()
protected void paintBorder(Graphics g)
borderPainted
属性为 true
,则绘制进度条的边框。
JComponent
中的 paintBorder
g
- 用于绘制边框的 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
中的 updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
protected ChangeListener createChangeListener()
ChangeListener
实现的实例。默认 ChangeListener
调用 fireStateChanged
方法将 ChangeEvent
转发给直接添加到进度条的 ChangeListener
。
changeListener
,
fireStateChanged()
,
ChangeListener
,
BoundedRangeModel
public void addChangeListener(ChangeListener l)
ChangeListener
添加到进度条。
l
- 要添加的 ChangeListener
public void removeChangeListener(ChangeListener l)
ChangeListener
。
l
- 要移除的 ChangeListener
public ChangeListener[] getChangeListeners()
addChangeListener
添加到此进度条的所有 ChangeListener
组成的数组。
ChangeListener
;如果没有添加任何侦听器,则返回一个空数组protected void fireStateChanged()
ChangeEvent
(其源是此 JProgressBar
)发送给针对 ChangeEvent
的所有已注册 ChangeListener
。每次从该模型接收 ChangeEvent
时调用此方法。
如果需要,将创建事件实例并存储在 changeEvent
中。
addChangeListener(javax.swing.event.ChangeListener)
,
EventListenerList
public BoundedRangeModel getModel()
BoundedRangeModel
setModel(javax.swing.BoundedRangeModel)
,
BoundedRangeModel
public void setModel(BoundedRangeModel newModel)
JProgressBar
使用的数据模型。注意,BoundedRangeModel
的 extent
未被使用,并设置为 0
。
newModel
- 要使用的 BoundedRangeModel
public 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()
,
BasicProgressBarUI
public boolean isIndeterminate()
indeterminate
属性的值。
indeterminate
属性的值setIndeterminate(boolean)
protected String paramString()
JProgressBar
的字符串表示形式。此方法仅用于调试目的。返回的字符串内容和格式在各种实现间可能各不相同。返回的字符串可能为空,但不可能为 null
。
JComponent
中的 paramString
JProgressBar
的字符串表示形式public AccessibleContext getAccessibleContext()
JProgressBar
关联的 AccessibleContext
。对于进度条,AccessibleContext
采用 AccessibleJProgressBar
的形式。必要时要创建新的 AccessibleJProgressBar
实例。
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
AccessibleJProgressBar
,它将充当此 JProgressBar
的 AccessibleContext
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。