public class JProgressBar extends JComponent implements SwingConstants, Accessible
 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);  
       有关完整的示例和进一步的文档,请参阅How to Monitor Progress “Java教程 ”中的一节。
警告: Swing不是线程安全的。 有关更多信息,请参阅Swing's Threading Policy 。
 警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已经添加到java.beans包中。 请参阅XMLEncoder 。 
BasicProgressBarUI , BoundedRangeModel , SwingWorker 
       | Modifier and Type | Class and Description | 
|---|---|
| protected class  | JProgressBar.AccessibleJProgressBar
              该类实现对 
              JProgressBar类的可访问性支持。 | 
JComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy| Modifier and Type | Field and Description | 
|---|---|
| protected ChangeEvent | changeEvent
              每个实例只需要一个 
              ChangeEvent,因为事件唯一有趣的属性是不可变源,即进度条。 | 
| protected ChangeListener | changeListener
              监听进度条模型发送的更改事件,将其重新分配到此进度条上注册的更改事件侦听器。 
             | 
| protected BoundedRangeModel | model
              保存进度条数据的对象。 
             | 
| protected int | orientation
              进度条是水平还是垂直。 
             | 
| protected boolean | paintBorder
              是否在进度条周围显示边框。 
             | 
| protected boolean | paintString
              是否在进度条上显示文本字符串。 
             | 
| protected String | progressString
              可以在进度条上显示的可选字符串。 
             | 
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WESTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description | 
|---|
| JProgressBar()
              创建一个显示边框但没有进度字符串的水平进度条。 
             | 
| JProgressBar(BoundedRangeModel newModel)
              创建一个水平进度条,使用指定的模型来保存进度条的数据。 
             | 
| JProgressBar(int orient)
              创建具有指定方向的进度条,可以是 
              SwingConstants.VERTICAL或SwingConstants.HORIZONTAL。 | 
| JProgressBar(int min, int max)
              创建具有指定的最小和最大值的水平进度条。 
             | 
| JProgressBar(int orient, int min, int max)
              使用指定的方向,最小和最大值创建进度条。 
             | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addChangeListener(ChangeListener l)
              将指定的ChangeListener 
              ChangeListener到进度条。 | 
| protected ChangeListener | createChangeListener()
              想要处理来自模型的更改事件的子类不同,可以重写此返回一个自定义 
              ChangeListener实现的实例。 | 
| protected void | fireStateChanged()
              发送一个 
              ChangeEvent,其来源是这JProgressBar,所有ChangeListeners已注册兴趣在ChangeEvents。 | 
| AccessibleContext | getAccessibleContext()
              获取 
              AccessibleContext与此相关JProgressBar。 | 
| ChangeListener[] | getChangeListeners()
              返回所有的数组 
              ChangeListener加入到这一进度条以saddChangeListener。 | 
| 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()
              返回渲染此组件的look-and-feel类的名称。 
             | 
| int | getValue()
              进度条的电流返回 
              value从BoundedRangeModel。 | 
| boolean | isBorderPainted()
              返回 
              borderPainted属性。 | 
| boolean | isIndeterminate()
              返回 
              indeterminate属性的值。 | 
| boolean | isStringPainted()
              返回 
              stringPainted属性的值。 | 
| protected void | paintBorder(Graphics g)
              如果 
              borderPainted属性为true则绘制进度条的边框。 | 
| protected String | paramString()
              返回此 
              JProgressBar的字符串表示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属性重置为当前外观的值。 
             | 
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, updateadd, 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, validateTreeaction, 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, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleprotected int orientation
HORIZONTAL 。 
          setOrientation(int) 
           protected boolean paintBorder
true 。 
          protected BoundedRangeModel model
protected String progressString
null 。 
           将其设置为非null值并不意味着将显示该字符串。 
           要显示字符串, paintString必须是true 。 
          protected boolean paintString
false 。 
           将其设置为true会导致在进度条上显示要呈现的进度的文本显示。 
           如果progressString为null ,则完成百分比显示在进度条上。 
           否则,将在进度条上呈现progressString 。 
          protected transient ChangeEvent changeEvent
ChangeEvent ,因为事件唯一有趣的属性是不可变的源,即进度条。 
           事件首次在事件通知被触发时被懒惰地创建。 
          fireStateChanged() 
           protected ChangeListener changeListener
createChangeListener() 
           public JProgressBar()
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表示。 
           默认情况下,这将返回一个简单的百分比String基于从getPercentComplete返回的值。 
           一个例子就是“42%”。 
           您可以通过致电setString进行更改。 
          null的简单百分比字符串 
           setString(java.lang.String) 
           public void setString(String s)
null ,这意味着使用简单百分比字符串的内置行为。 
           如果您提供了自定义的进度字符串,并希望还原到内置行为,请将该字符串设置为null 。 
            只有当isStringPainted方法返回true ,进度字符串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则绘制进度条的边框。 
          paintBorder在 
            JComponent 
           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对象 
           UIDefaults.getUI(javax.swing.JComponent) 
           public void updateUI()
updateUI在 
            JComponent 
           JComponent.updateUI() 
           public String getUIClassID()
getUIClassID在 
            JComponent 
           JComponent.getUIClassID() , 
            UIDefaults.getUI(javax.swing.JComponent) 
           protected ChangeListener createChangeListener()
ChangeListener实现的实例。 
           默认的ChangeListener只需调用fireStateChanged方法将ChangeEvent s转至直接添加到进度条的ChangeListener 。 
          public void addChangeListener(ChangeListener l)
ChangeListener到进度条。 
          l - 添加的 
            ChangeListener 
           public void removeChangeListener(ChangeListener l)
ChangeListener 。 
          l - 要删除的 
            ChangeListener 
           public ChangeListener[] getChangeListeners()
ChangeListener加入到这一进度条以s 
           addChangeListener 。 
          ChangeListener或一个空数组,如果没有添加听众 
           protected void fireStateChanged()
ChangeEvent ,其来源是这JProgressBar ,所有ChangeListener s已注册兴趣在ChangeEvent s。 
           每次从模型接收到一个ChangeEvent时都会调用此方法。 
            如果需要,创建事件实例,并存储在changeEvent 。 
public BoundedRangeModel getModel()
BoundedRangeModel使用的 
            BoundedRangeModel 
           setModel(javax.swing.BoundedRangeModel) , BoundedRangeModel 
           public void setModel(BoundedRangeModel newModel)
JProgressBar使用的数据模型。 
           请注意, BoundedRangeModel的extent未使用,设置为0 。 
          newModel - 
            BoundedRangeModel使用 
           public int getValue()
value从BoundedRangeModel 。 
           该值始终在最小值和最大值之间,包括值。 
          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文档。 
如果新值与上一个值不同,则会通知所有更改侦听器。
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的字符串表示JProgressBar 。 
           该方法仅用于调试目的。 
           返回的字符串的内容和格式可能会有所不同。 
           返回的字符串可能为空,但可能不是null 。 
          paramString在 
            JComponent 
           JProgressBar的字符串表示 
            JProgressBar 
           public AccessibleContext getAccessibleContext()
AccessibleContext与此相关JProgressBar 。 
           对于进度条,在AccessibleContext需要一个形式AccessibleJProgressBar 。 
           如有必要,将创建一个新的AccessibleJProgressBar实例。 
          getAccessibleContext在接口 
            Accessible 
           getAccessibleContext在 
            Component 
           AccessibleJProgressBar ,作为 
            AccessibleContext这个 
            JProgressBar 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.