JavaTM 2 Platform
Standard Ed. 6

javax.swing.plaf.basic
類別 BasicProgressBarUI

java.lang.Object
  繼承者 javax.swing.plaf.ComponentUI
      繼承者 javax.swing.plaf.ProgressBarUI
          繼承者 javax.swing.plaf.basic.BasicProgressBarUI
直接已知子類別:
MetalProgressBarUI

public class BasicProgressBarUI
extends ProgressBarUI

ProgressBarUI 的基本 L&F 實作。


巢狀類別摘要
 class BasicProgressBarUI.ChangeHandler
          此內部類別因編譯器故障而被標記為“公開”。
 
欄位摘要
protected  Rectangle boxRect
          用於保存要繪製的跳動框(由 getBox 返回)的位置和大小。
protected  ChangeListener changeListener
           
protected  JProgressBar progressBar
           
 
建構子摘要
BasicProgressBarUI()
           
 
方法摘要
static ComponentUI createUI(JComponent x)
           
protected  int getAmountFull(Insets b, int width, int height)
          此方法確定進度條的量,該量應該基於從模型搜集的完成百分比填充。
protected  int getAnimationIndex()
          獲取當前動畫窗體的索引。
 int getBaseline(JComponent c, int width, int height)
          返回基線。
 Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
          返回一個列舉,它指示該元件的基線如何隨大小的改變而發生更改。
protected  Rectangle getBox(Rectangle r)
          存儲將為 r 中的當前動畫索引繪製並返回 r 的跳動框中位置和大小。
protected  int getBoxLength(int availableLength, int otherDimension)
          返回要繪製的“跳動框”的長度。
protected  int getCellLength()
          返回要在進度條中呈現的每個單個單元格/單元的寬度(如果為 HORIZONTAL)或高度(如果為 VERTICAL)。
protected  int getCellSpacing()
          返回進度條中每個單元格/單元之間的間隔。
protected  int getFrameCount()
          返回不確定 JProgessBar 所使用的完整動畫循環的窗體數。
 Dimension getMaximumSize(JComponent c)
          返回指定元件的適合外觀的最大大小。
 Dimension getMinimumSize(JComponent c)
          此元件的最小大小為 10。
protected  Dimension getPreferredInnerHorizontal()
           
protected  Dimension getPreferredInnerVertical()
           
 Dimension getPreferredSize(JComponent c)
          返回指定元件的適合外觀的首選大小。
protected  Color getSelectionBackground()
          如果在進度條的未填充區域上繪製文本,則文本的顏色為 "selectionBackground"。
protected  Color getSelectionForeground()
          如果在進度條的填充區域上繪製文本,文本的顏色為 "selectionForeground"。
protected  Point getStringPlacement(Graphics g, String progressString, int x, int y, int width, int height)
          指定將繪製進度字元串的位置。
protected  void incrementAnimationIndex()
          將當前動畫窗體的索引設置為下一個有效值,這將導致進度條的重繪。
protected  void installDefaults()
           
protected  void installListeners()
           
 void installUI(JComponent c)
          配置指定元件,使其適合外觀。
 void paint(Graphics g, JComponent c)
          將繪製委託給兩種方法之一:paintDeterminate 和 paintIndeterminate。
protected  void paintDeterminate(Graphics g, JComponent c)
          對幾乎所有線性、確定進度條都能正確執行操作的多用途繪製方法。
protected  void paintIndeterminate(Graphics g, JComponent c)
          對所有線性跳動框進度條都能正確執行操作的多用途繪製方法。
protected  void paintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
           
protected  void setAnimationIndex(int newValue)
          將當前動畫窗體的索引設置為指定的值,並請求重繪進度條。
protected  void setCellLength(int cellLen)
           
protected  void setCellSpacing(int cellSpace)
           
protected  void startAnimationTimer()
          啟動動畫執行緒,如果必要則創建並初始化它。
protected  void stopAnimationTimer()
          停止動畫執行緒。
protected  void uninstallDefaults()
           
protected  void uninstallListeners()
          移除此物件安裝的所有偵聽器。
 void uninstallUI(JComponent c)
          在 installUI 期間,在指定元件上反向執行的配置操作。
 
從類別 javax.swing.plaf.ComponentUI 繼承的方法
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

progressBar

protected JProgressBar progressBar

changeListener

protected ChangeListener changeListener

boxRect

protected Rectangle boxRect
用於保存要繪製的跳動框(由 getBox 返回)的位置和大小。

從以下版本開始:
1.5
建構子詳細資訊

BasicProgressBarUI

public BasicProgressBarUI()
方法詳細資訊

createUI

public static ComponentUI createUI(JComponent x)

installUI

public void installUI(JComponent c)
從類別 ComponentUI 複製的描述
配置指定元件,使其適合外觀。當 ComponentUI 實例將作為 UI 委託安裝在指定元件上時,可調用此方法。此方法應該為外觀完整地配置元件,包括以下方面:
  1. 在元件上安裝用於顏色、字體、邊框、圖標、不透明性等方面的所有預設屬性值。只要有可能,就 應該覆寫由客戶端程序初始化的屬性值。
  2. 如有必要,可在元件上安裝一個 LayoutManager
  3. 將所需的所有子元件創建/添加到元件中。
  4. 在元件上創建/安裝事件偵聽器。
  5. 為了檢測和適當回應元件屬性更改,可在元件上創建/安裝一個 PropertyChangeListener
  6. 在元件上安裝鍵盤 UI(助記符、遍歷等等)。
  7. 初始化任何適當的實例資料。

覆寫:
類別 ComponentUI 中的 installUI
參數:
c - 將安裝此 UI 委託的元件
另請參見:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
從類別 ComponentUI 複製的描述
installUI 期間,在指定元件上反向執行的配置操作。當此 UIComponent 實例將作為 UI 委託從指定元件上移除時,可調用此方法。此方法應該取消在 installUI 中執行的配置操作,非常小心地使 JComponent 實例處於某種潔淨狀態(沒有額外的偵聽器、沒有特定於外觀的屬性物件等等)。配置內容應該套件括以下方面:
  1. 從元件中移除所有 UI 設置的邊框。
  2. 從元件上移除所有 UI 設置的佈局管理器。
  3. 從元件中移除所有 UI 添加的子元件。
  4. 從元件中移除所有 UI 添加的事件/屬性偵聽器。
  5. 從元件中移除所有 UI 安裝的鍵盤 UI。
  6. 使所有已分派的實例資料物件無效,從而允許進行 GC 操作。

覆寫:
類別 ComponentUI 中的 uninstallUI
參數:
c - 從中移除此 UI 委託的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults()

uninstallDefaults

protected void uninstallDefaults()

installListeners

protected void installListeners()

startAnimationTimer

protected void startAnimationTimer()
啟動動畫執行緒,如果必要則創建並初始化它。當不確定的進度條應該啟動動畫時,調用此方法。此操作的理由包括: 如果實作自己的動畫執行緒,則必須覆寫此執行緒。

從以下版本開始:
1.4
另請參見:
stopAnimationTimer()

stopAnimationTimer

protected void stopAnimationTimer()
停止動畫執行緒。應該停止不確定的動畫時調用此方法。此操作的理由包括: 如果實作自己的動畫執行緒,則必須覆寫此執行緒。

從以下版本開始:
1.4
另請參見:
startAnimationTimer()

uninstallListeners

protected void uninstallListeners()
移除此物件安裝的所有偵聽器。


getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
返回基線。

覆寫:
類別 ComponentUI 中的 getBaseline
參數:
c - 為其請求基線的 JComponent
width - 為其獲取基線的寬度
height - 為其獲取基線的高度
返回:
基線;如果沒有合理的基線,則返回 < 0 的值
拋出:
NullPointerException - 如果 cnull
IllegalArgumentException - 如果寬度或高度 < 0
從以下版本開始:
1.6
另請參見:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一個列舉,它指示該元件的基線如何隨大小的改變而發生更改。

覆寫:
類別 ComponentUI 中的 getBaselineResizeBehavior
參數:
c - 為其返回調整大小行為的 JComponent
返回:
一個列舉,指示基線如何隨元件大小的改變而發生更改
拋出:
NullPointerException - 如果 cnull
從以下版本開始:
1.6
另請參見:
JComponent.getBaseline(int, int)

getPreferredInnerHorizontal

protected Dimension getPreferredInnerHorizontal()

getPreferredInnerVertical

protected Dimension getPreferredInnerVertical()

getSelectionForeground

protected Color getSelectionForeground()
如果在進度條的填充區域上繪製文本,文本的顏色為 "selectionForeground"。


getSelectionBackground

protected Color getSelectionBackground()
如果在進度條的未填充區域上繪製文本,則文本的顏色為 "selectionBackground"。


getCellLength

protected int getCellLength()
返回要在進度條中呈現的每個單個單元格/單元的寬度(如果為 HORIZONTAL)或高度(如果為 VERTICAL)。但是,為了文本呈現的簡易性和出於審美考慮,呈現進度字元串時,此方法將返回 1。

返回:
表示單元格之間間隔的值
另請參見:
setCellLength(int), JProgressBar.isStringPainted()

setCellLength

protected void setCellLength(int cellLen)

getCellSpacing

protected int getCellSpacing()
返回進度條中每個單元格/單元之間的間隔。但是,為了文本呈現的簡易性和出於審美考慮,呈現進度字元串時,此方法將返回 0。

返回:
表示單元格之間間隔的值
另請參見:
setCellSpacing(int), JProgressBar.isStringPainted()

setCellSpacing

protected void setCellSpacing(int cellSpace)

getAmountFull

protected int getAmountFull(Insets b,
                            int width,
                            int height)
此方法確定進度條的量,該量應該基於從模型搜集的完成百分比填充。此方法是一種共同的操作,所以被作為抽象方法提出來。它假定進度條是線性的。就是說,如果要製作圓形進度指示器,則要覆寫此方法。


paint

public void paint(Graphics g,
                  JComponent c)
將繪製委託給兩種方法之一:paintDeterminate 和 paintIndeterminate。

覆寫:
類別 ComponentUI 中的 paint
參數:
g - 將在其中進行繪製的 Graphics 上下文
c - 將繪製的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)

getBox

protected Rectangle getBox(Rectangle r)
存儲將為 r 中的當前動畫索引繪製並返回 r 的跳動框中位置和大小。在 paintIndeterminate 的此類別的實作中執行添加繪製的子類別(例如,圍繞跳動框繪製輪廓)可以使用此方法獲取剛剛繪製的跳動框的位置。通過覆寫此方法,可以完全控制跳動框的大小和位置,無需重新實作 paintIndeterminate

參數:
r - 要修改的 Rectangle 實例;可能為 null
返回:
如果不應該繪製框,則返回 null;否則返回傳入的矩形(如果非 null)或新矩形
從以下版本開始:
1.4
另請參見:
setAnimationIndex(int)

getBoxLength

protected int getBoxLength(int availableLength,
                           int otherDimension)
返回要繪製的“跳動框”的長度。paintIndeterminate 的預設實作調用此方法來獲取框的寬度(如果進度條是水平的)或高度(如果是垂直的)。例如:
boxRect.width = getBoxLength(componentInnards.width,
                             componentInnards.height);
 

參數:
availableLength - 跳動框可移動的空間量;對於水平進度條而言,此空間量應為進度條的內部寬度(元件寬度減去邊框)
otherDimension - 對於水平進度條,此空間量應為進度條的內部高度;此值可能用於約束或確定返回值。
返回:
要確定的框的尺寸;必須不大於 availableLength
從以下版本開始:
1.5
另請參見:
SwingUtilities.calculateInnerArea(javax.swing.JComponent, java.awt.Rectangle)

paintIndeterminate

protected void paintIndeterminate(Graphics g,
                                  JComponent c)
對所有線性跳動框進度條都能正確執行操作的多用途繪製方法。如果要製作另一種進度條,則覆寫此方法。

從以下版本開始:
1.4
另請參見:
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)

paintDeterminate

protected void paintDeterminate(Graphics g,
                                JComponent c)
對幾乎所有線性、確定進度條都能正確執行操作的多用途繪製方法。通過在預設表中設置幾個值,就可以很好地繪製進度條了。如果要製作圓形或半圓形進度條,自然要覆寫此方法。

從以下版本開始:
1.4
另請參見:
paintIndeterminate(java.awt.Graphics, javax.swing.JComponent)

paintString

protected void paintString(Graphics g,
                           int x,
                           int y,
                           int width,
                           int height,
                           int amountFull,
                           Insets b)

getStringPlacement

protected Point getStringPlacement(Graphics g,
                                   String progressString,
                                   int x,
                                   int y,
                                   int width,
                                   int height)
指定將繪製進度字元串的位置。此實作將其置於進度條的中心(x 和 y 都是如此)。如果要向右、向左、向上或向下對齊進度字元串或者不管出於何種原因需要輕微移動它,則覆寫此方法。


getPreferredSize

public Dimension getPreferredSize(JComponent c)
從類別 ComponentUI 複製的描述
返回指定元件的適合外觀的首選大小。如果返回 null,則首選大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作返回 null

覆寫:
類別 ComponentUI 中的 getPreferredSize
參數:
c - 將查詢其首選大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

getMinimumSize

public Dimension getMinimumSize(JComponent c)
此元件的最小大小為 10。此處的基本原理是,每 10% 應該至少有一個像素。

覆寫:
類別 ComponentUI 中的 getMinimumSize
參數:
c - 將查詢其最小大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
返回:
一個 Dimension 物件或 null
另請參見:
JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)

getMaximumSize

public Dimension getMaximumSize(JComponent c)
從類別 ComponentUI 複製的描述
返回指定元件的適合外觀的最大大小。如果返回 null,則最大大小將由元件的佈局管理器計算(對於安裝了特定佈局管理器的元件而言,這是首選方法)。此方法的預設實作調用 getPreferredSize 並返回該值。

覆寫:
類別 ComponentUI 中的 getMaximumSize
參數:
c - 將查詢其最大大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
返回:
一個 Dimension 物件或 null
另請參見:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

getAnimationIndex

protected int getAnimationIndex()
獲取當前動畫窗體的索引。

從以下版本開始:
1.4

getFrameCount

protected final int getFrameCount()
返回不確定 JProgessBar 所使用的完整動畫循環的窗體數。進度塊在整個循環過程中將從一端移動到另一端並返回。此可視行為可由其他外觀中的子類別更改。

返回:
窗體數
從以下版本開始:
1.6

setAnimationIndex

protected void setAnimationIndex(int newValue)
將當前動畫窗體的索引設置為指定的值,並請求重繪進度條。不使用預設繪製程式碼的子類別可能需要覆寫此方法來更改 repaint 方法的調用方式。

參數:
newValue - 新動畫索引;沒有對其值執行檢查
從以下版本開始:
1.4
另請參見:
incrementAnimationIndex()

incrementAnimationIndex

protected void incrementAnimationIndex()
將當前動畫窗體的索引設置為下一個有效值,這將導致進度條的重繪。預設情況下下一個有效值是當前動畫索引加上一。如果新值過大,則此方法將索引設置為 0。子類別可能需要覆寫此方法以確保索引不超越特定進度條實例所需的窗體數。預設的動畫執行緒每隔 X 毫秒就會調用一次此方法,其中 X 由 "ProgressBar.repaintInterval" UI 預設值指定。

從以下版本開始:
1.4
另請參見:
setAnimationIndex(int)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only