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