- 所有已实现的接口:
ImageObserver,MenuContainer,Serializable,Accessible,SwingConstants
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. 中的一个部分
Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略。
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 自从:
- 1.2
- 参见:
-
内部类总结
内部类在类 javax.swing.JComponent 中声明的嵌套类/接口
JComponent.AccessibleJComponent在类 java.awt.Container 中声明的嵌套类/接口
Container.AccessibleAWTContainer -
字段摘要
字段修饰符和类型Field描述protected ChangeEvent每个实例只需要一个ChangeEvent,因为事件唯一有趣的属性是不可变源,即进度条。protected ChangeListener监听进度条模型发送的更改事件,将它们重新分发给在此进度条上注册的更改事件监听。protected BoundedRangeModel保存进度条数据的对象。protected int进度条是水平的还是垂直的。protected boolean是否在进度条周围显示边框。protected boolean是否在进度条上显示一串文本。protected String可以显示在进度条上的可选字符串。在类 javax.swing.JComponent 中声明的字段
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW在类 java.awt.Component 中声明的字段
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH在接口 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 -
构造方法总结
构造方法构造方法描述创建一个显示边框但不显示进度字符串的水平进度条。JProgressBar(int orient) 创建具有指定方向的进度条,可以是SwingConstants.VERTICAL或SwingConstants.HORIZONTAL。JProgressBar(int min, int max) 创建具有指定最小值和最大值的水平进度条。JProgressBar(int orient, int min, int max) 使用指定的方向、最小值和最大值创建进度条。JProgressBar(BoundedRangeModel newModel) 创建一个水平进度条,它使用指定的模型来保存进度条的数据。 -
方法总结
修饰符和类型方法描述void将指定的ChangeListener添加到进度条。protected ChangeListener想要以不同方式处理来自模型的更改事件的子类可以覆盖它以返回自定义ChangeListener实现的实例。protected void向所有对ChangeEvent感兴趣的ChangeListener发送一个ChangeEvent,其来源是这个JProgressBar。获取与此JProgressBar关联的AccessibleContext。返回使用addChangeListener添加到此进度条的所有ChangeListener的数组。int从BoundedRangeModel返回进度条的maximum值。int从BoundedRangeModel返回进度条的minimum值。getModel()返回此进度条使用的数据模型。int返回SwingConstants.VERTICAL或SwingConstants.HORIZONTAL,具体取决于进度条的方向。double返回进度条的完成百分比。返回当前进度的String表示。getUI()返回呈现此组件的外观对象。返回呈现此组件的外观类的名称。intgetValue()从BoundedRangeModel返回进度条的当前value。boolean返回borderPainted属性。boolean返回indeterminate属性的值。boolean返回stringPainted属性的值。protected void如果borderPainted属性为true,则绘制进度条的边框。protected String返回此JProgressBar的字符串表示形式void从进度条中删除ChangeListener。voidsetBorderPainted(boolean b) 设置borderPainted属性,如果进度条应绘制其边框,则该属性为true。voidsetIndeterminate(boolean newValue) 设置进度条的indeterminate属性,决定进度条是determinate还是indeterminate模式。voidsetMaximum(int n) 将进度条的最大值(存储在进度条的数据模型中)设置为n。voidsetMinimum(int n) 将进度条的最小值(存储在进度条的数据模型中)设置为n。voidsetModel(BoundedRangeModel newModel) 设置JProgressBar使用的数据模型。voidsetOrientation(int newOrientation) 将进度条的方向设置为newOrientation,它必须是SwingConstants.VERTICAL或SwingConstants.HORIZONTAL。void设置进度字符串的值。voidsetStringPainted(boolean b) 设置stringPainted属性的值,该属性确定进度条是否应呈现进度字符串。voidsetUI(ProgressBarUI ui) 设置呈现此组件的外观对象。voidsetValue(int n) 将进度条的当前值设置为n。voidupdateUI()将 UI 属性重置为当前外观的值。在类 javax.swing.JComponent 中声明的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update在类 java.awt.Container 中声明的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree在类 java.awt.Component 中声明的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
字段详细信息
-
orientation
protected int orientation进度条是水平的还是垂直的。默认值为HORIZONTAL。- 参见:
-
paintBorder
protected boolean paintBorder是否在进度条周围显示边框。默认值为true。- 参见:
-
model
保存进度条数据的对象。- 参见:
-
progressString
可以显示在进度条上的可选字符串。默认为null。将此设置为非null值并不意味着将显示该字符串。要显示字符串,paintString必须是true。- 参见:
-
paintString
protected boolean paintString是否在进度条上显示一串文本。默认值为false。将此设置为true会导致在进度条上呈现进度的文本显示。如果progressString为null,则进度条上会显示完成百分比。否则,progressString将呈现在进度条上。- 参见:
-
changeEvent
每个实例只需要一个ChangeEvent,因为事件唯一有趣的属性是不可变源,即进度条。该事件是在第一次触发事件通知时延迟创建的。- 参见:
-
changeListener
监听进度条模型发送的更改事件,将它们重新分发给在此进度条上注册的更改事件监听。- 参见:
-
-
构造方法详细信息
-
JProgressBar
public JProgressBar()创建一个显示边框但不显示进度字符串的水平进度条。初始值和最小值均为 0,最大值为 100。- 参见:
-
JProgressBar
public JProgressBar(int orient) 创建具有指定方向的进度条,可以是SwingConstants.VERTICAL或SwingConstants.HORIZONTAL。默认情况下,绘制边框但不绘制进度字符串。初始值和最小值均为 0,最大值为 100。- 参数:
orient- 进度条的期望方向- 抛出:
IllegalArgumentException- 如果orient是非法值- 参见:
-
JProgressBar
public JProgressBar(int min, int max) 创建具有指定最小值和最大值的水平进度条。将进度条的初始值设置为指定的最小值。默认情况下,绘制边框但不绘制进度字符串。保存进度条数据的
BoundedRangeModel处理因进度条上的最小值、初始值和最大值设置不当而可能出现的任何问题。有关详细信息,请参阅BoundedRangeModel文档。- 参数:
min- 进度条的最小值max- 进度条的最大值- 参见:
-
JProgressBar
public JProgressBar(int orient, int min, int max) 使用指定的方向、最小值和最大值创建进度条。默认情况下,绘制边框但不绘制进度字符串。将进度条的初始值设置为指定的最小值。保存进度条数据的
BoundedRangeModel处理因进度条上的最小值、初始值和最大值设置不当而可能出现的任何问题。有关详细信息,请参阅BoundedRangeModel文档。- 参数:
orient- 进度条的期望方向min- 进度条的最小值max- 进度条的最大值- 抛出:
IllegalArgumentException- 如果orient是非法值- 参见:
-
JProgressBar
创建一个水平进度条,它使用指定的模型来保存进度条的数据。默认情况下,绘制边框但不绘制进度字符串。- 参数:
newModel- 进度条的数据模型- 参见:
-
-
方法详情
-
getOrientation
public int getOrientation()返回SwingConstants.VERTICAL或SwingConstants.HORIZONTAL,具体取决于进度条的方向。默认方向是SwingConstants.HORIZONTAL。- 返回:
HORIZONTAL或VERTICAL- 参见:
-
setOrientation
@BeanProperty (preferred =true, visualUpdate =true, description ="Set the progress bar\'s orientation.") public void setOrientation(int newOrientation) 将进度条的方向设置为newOrientation,它必须是SwingConstants.VERTICAL或SwingConstants.HORIZONTAL。默认方向是SwingConstants.HORIZONTAL。- 参数:
newOrientation-HORIZONTAL或VERTICAL- 抛出:
IllegalArgumentException- 如果newOrientation是非法值- 参见:
-
isStringPainted
public boolean isStringPainted()返回stringPainted属性的值。- 返回:
stringPainted属性的值- 参见:
-
setStringPainted
@BeanProperty (visualUpdate =true, description ="Whether the progress bar should render a string.") public void setStringPainted(boolean b) 设置stringPainted属性的值,该属性确定进度条是否应呈现进度字符串。默认值为false,表示不绘制任何字符串。有些外观可能不支持进度字符串,或者仅当进度条处于确定模式时才支持它们。- 参数:
b-true如果进度条应该呈现一个字符串- 参见:
-
getString
返回当前进度的String表示。默认情况下,这会根据getPercentComplete返回的值返回一个简单的百分比String。一个例子是“42%”。您可以通过调用setString来更改此设置。- 返回:
-
进度字符串的值,如果进度字符串为
null,则为简单的百分比字符串 - 参见:
-
setString
@BeanProperty (visualUpdate =true, description ="Specifies the progress string to paint") public void setString(String s) 设置进度字符串的值。默认情况下,此字符串为null,暗示使用简单百分比字符串的内置行为。如果您提供了自定义进度字符串并希望恢复为内置行为,请将字符串设置回null。仅当
isStringPainted方法返回true时才会绘制进度字符串。- 参数:
s- 进度字符串的值- 参见:
-
getPercentComplete
返回进度条的完成百分比。请注意,此数字介于 0.0 和 1.0 之间。- 返回:
- 此进度条的完成百分比
-
isBorderPainted
public boolean isBorderPainted()返回borderPainted属性。- 返回:
borderPainted属性的值- 参见:
-
setBorderPainted
@BeanProperty (visualUpdate =true, description ="Whether the progress bar should paint its border.") public void setBorderPainted(boolean b) 设置borderPainted属性,如果进度条应绘制其边框,则该属性为true。此属性的默认值为true。某些外观可能无法实现彩绘边框;他们将忽略此属性。- 参数:
b-true如果进度条应该绘制其边框;否则,false- 参见:
-
paintBorder
如果borderPainted属性为true,则绘制进度条的边框。- 重写:
paintBorder在类JComponent中- 参数:
g- 绘制边框的Graphics上下文- 参见:
-
getUI
返回呈现此组件的外观对象。- 重写:
getUI在类JComponent中- 返回:
-
呈现此组件的
ProgressBarUI对象
-
setUI
@BeanProperty (hidden =true, visualUpdate =true, description ="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ProgressBarUI ui) 设置呈现此组件的外观对象。- 参数:
ui- 一个ProgressBarUI对象- 参见:
-
updateUI
public void updateUI()将 UI 属性重置为当前外观的值。- 重写:
updateUI在类JComponent中- 参见:
-
getUIClassID
@BeanProperty (bound =false, expert =true, description ="A string that specifies the name of the look-and-feel class.") public String getUIClassID()返回呈现此组件的外观类的名称。- 重写:
getUIClassID在类JComponent中- 返回:
- 字符串“ProgressBarUI”
- 参见:
-
createChangeListener
想要以不同方式处理来自模型的更改事件的子类可以覆盖它以返回自定义ChangeListener实现的实例。默认的ChangeListener只是调用fireStateChanged方法将ChangeEvent转发给已经直接加入进度条的ChangeListener。- 返回:
-
自定义
ChangeListener实现的实例。 - 参见:
-
addChangeListener
将指定的ChangeListener添加到进度条。- 参数:
l- 要添加的ChangeListener
-
removeChangeListener
从进度条中删除ChangeListener。- 参数:
l- 要删除的ChangeListener
-
getChangeListeners
返回使用addChangeListener添加到此进度条的所有ChangeListener的数组。- 返回:
-
添加所有
ChangeListener或如果未添加任何监听器,则为空数组 - 自从:
- 1.4
-
fireStateChanged
protected void fireStateChanged()向所有对ChangeEvent感兴趣的ChangeListener发送一个ChangeEvent,其来源是这个JProgressBar。每次从模型接收到ChangeEvent时都会调用此方法。必要时创建事件实例,并存储在
changeEvent中。- 参见:
-
getModel
返回此进度条使用的数据模型。- 返回:
-
目前正在使用的
BoundedRangeModel - 参见:
-
setModel
@BeanProperty (bound =false, expert =true, description ="The data model used by the JProgressBar.") public void setModel(BoundedRangeModel newModel) 设置JProgressBar使用的数据模型。请注意,BoundedRangeModel的extent未使用,而是设置为0。- 参数:
newModel- 要使用的BoundedRangeModel
-
getValue
public int getValue()从BoundedRangeModel返回进度条的当前value。该值始终介于最小值和最大值之间(包括两者)。- 返回:
- 进度条的当前值
- 参见:
-
getMinimum
public int getMinimum()从BoundedRangeModel返回进度条的minimum值。- 返回:
- 进度条的最小值
- 参见:
-
getMaximum
public int getMaximum()从BoundedRangeModel返回进度条的maximum值。- 返回:
- 进度条的最大值
- 参见:
-
setValue
@BeanProperty (bound =false, preferred =true, description ="The progress bar\'s current value.") public void setValue(int n) 将进度条的当前值设置为n。此方法将新值转发给模型。数据模型(
BoundedRangeModel的实例)处理因分配错误值而引起的任何数学问题。有关详细信息,请参阅BoundedRangeModel文档。如果新值与先前值不同,则会通知所有更改监听。
- 参数:
n- 新值- 参见:
-
setMinimum
@BeanProperty (bound =false, preferred =true, description ="The progress bar\'s minimum value.") public void setMinimum(int n) 将进度条的最小值(存储在进度条的数据模型中)设置为n。数据模型(
BoundedRangeModel实例)处理因分配错误值而引起的任何数学问题。有关详细信息,请参阅BoundedRangeModel文档。如果最小值与之前的最小值不同,则通知所有更改监听。
- 参数:
n- 新的最小值- 参见:
-
setMaximum
@BeanProperty (bound =false, preferred =true, description ="The progress bar\'s maximum value.") public void setMaximum(int n) 将进度条的最大值(存储在进度条的数据模型中)设置为n。底层
BoundedRangeModel处理因分配错误值而引起的任何数学问题。有关详细信息,请参阅BoundedRangeModel文档。如果最大值与之前的最大值不同,则通知所有更改监听。
- 参数:
n- 新的最大值- 参见:
-
setIndeterminate
public void setIndeterminate(boolean newValue) 设置进度条的indeterminate属性,决定进度条是determinate还是indeterminate模式。不确定的进度条持续显示动画,指示正在进行未知长度的操作。默认情况下,此属性为false。有些外观可能不支持不确定的进度条;他们将忽略此属性。有关使用不确定进度条的示例,请参阅 如何监控进度。
- 参数:
newValue-true如果进度条应更改为不确定模式;false它是否应该恢复正常。- 自从:
- 1.4
- 参见:
-
isIndeterminate
@BeanProperty (bound =false, description ="Is the progress bar indeterminate (true) or normal (false)?") public boolean isIndeterminate()返回indeterminate属性的值。- 返回:
indeterminate属性的值- 自从:
- 1.4
- 参见:
-
paramString
返回此JProgressBar的字符串表示形式。此方法旨在仅用于调试目的。返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类JComponent中- 返回:
-
这个
JProgressBar的字符串表示
-
getAccessibleContext
@BeanProperty (bound =false, expert =true, description ="The AccessibleContext associated with this ProgressBar.") public AccessibleContext getAccessibleContext()获取与此JProgressBar关联的AccessibleContext。对于进度条,AccessibleContext采用AccessibleJProgressBar的形式。如有必要,将创建一个新的AccessibleJProgressBar实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类Component中- 返回:
-
一个
AccessibleJProgressBar作为这个JProgressBar的AccessibleContext
-