|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。