JavaTM 2 Platform
Standard Ed. 6

javax.swing.plaf.basic
類別 BasicSliderUI

java.lang.Object
  繼承者 javax.swing.plaf.ComponentUI
      繼承者 javax.swing.plaf.SliderUI
          繼承者 javax.swing.plaf.basic.BasicSliderUI
直接已知子類別:
MetalSliderUI

public class BasicSliderUI
extends SliderUI

SliderUI 的基本 L&F 實作。


巢狀類別摘要
 class BasicSliderUI.ActionScroller
          從 Java 2 平臺 v1.3 開始,不再使用這種以前沒有記錄的類別。
 class BasicSliderUI.ChangeHandler
          資料模型偵聽器。
 class BasicSliderUI.ComponentHandler
          調整事件大小的偵聽器。
 class BasicSliderUI.FocusHandler
          焦點更改偵聽器。
 class BasicSliderUI.PropertyChangeHandler
           
 class BasicSliderUI.ScrollListener
          滾動事件偵聽器。
 class BasicSliderUI.TrackListener
          追蹤鼠標移動。
 
欄位摘要
protected  ChangeListener changeListener
           
protected  ComponentListener componentListener
           
protected  Rectangle contentRect
           
protected  Insets focusInsets
           
protected  FocusListener focusListener
           
protected  Rectangle focusRect
           
protected  Insets insetCache
           
protected  Rectangle labelRect
           
protected  boolean leftToRightCache
           
static int MAX_SCROLL
           
static int MIN_SCROLL
           
static int NEGATIVE_SCROLL
           
static int POSITIVE_SCROLL
           
protected  PropertyChangeListener propertyChangeListener
           
protected  BasicSliderUI.ScrollListener scrollListener
           
protected  Timer scrollTimer
           
protected  JSlider slider
           
protected  Rectangle thumbRect
           
protected  Rectangle tickRect
           
protected  int trackBuffer
           
protected  BasicSliderUI.TrackListener trackListener
           
protected  Rectangle trackRect
           
 
建構子摘要
BasicSliderUI(JSlider b)
           
 
方法摘要
protected  void calculateContentRect()
           
protected  void calculateFocusRect()
           
protected  void calculateGeometry()
           
protected  void calculateLabelRect()
           
protected  void calculateThumbLocation()
           
protected  void calculateThumbSize()
           
protected  void calculateTickRect()
           
protected  void calculateTrackBuffer()
           
protected  void calculateTrackRect()
           
protected  ChangeListener createChangeListener(JSlider slider)
           
protected  ComponentListener createComponentListener(JSlider slider)
           
protected  FocusListener createFocusListener(JSlider slider)
           
protected  PropertyChangeListener createPropertyChangeListener(JSlider slider)
           
protected  BasicSliderUI.ScrollListener createScrollListener(JSlider slider)
           
protected  BasicSliderUI.TrackListener createTrackListener(JSlider slider)
           
static ComponentUI createUI(JComponent b)
           
protected  boolean drawInverted()
           
 int getBaseline(JComponent c, int width, int height)
          返回基線。
 Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
          返回一個列舉,它指示該元件的基線如何隨大小的改變而發生更改。
protected  Color getFocusColor()
           
protected  int getHeightOfHighValueLabel()
           
protected  int getHeightOfLowValueLabel()
           
protected  int getHeightOfTallestLabel()
           
protected  Integer getHighestValue()
          返回在標籤表中有一個項的最大值。
protected  Component getHighestValueLabel()
          返回與標籤表中的最低滑塊值相對應的標籤。
protected  Color getHighlightColor()
           
protected  Integer getLowestValue()
          返回在標籤表中有一個項的最小值。
protected  Component getLowestValueLabel()
          返回與標籤表中的最高滑塊值相對應的標籤。
 Dimension getMaximumSize(JComponent c)
          返回指定元件的適合外觀的最大大小。
 Dimension getMinimumHorizontalSize()
           
 Dimension getMinimumSize(JComponent c)
          返回指定元件的適合外觀的最小大小。
 Dimension getMinimumVerticalSize()
           
 Dimension getPreferredHorizontalSize()
           
 Dimension getPreferredSize(JComponent c)
          返回指定元件的適合外觀的首選大小。
 Dimension getPreferredVerticalSize()
           
protected  Color getShadowColor()
           
protected  Dimension getThumbSize()
           
protected  int getTickLength()
          獲取水平滑塊的刻度區域的高度和垂直滑塊的刻度區域的寬度。
protected  int getWidthOfHighValueLabel()
           
protected  int getWidthOfLowValueLabel()
           
protected  int getWidthOfWidestLabel()
           
protected  void installDefaults(JSlider slider)
           
protected  void installKeyboardActions(JSlider slider)
           
protected  void installListeners(JSlider slider)
           
 void installUI(JComponent c)
          配置指定元件,使其適合外觀。
protected  boolean isDragging()
          如果使用者在拖動滑塊,則返回 true。
protected  boolean labelsHaveSameBaselines()
          如果標籤表中的所有標籤具有相同的基線,則返回 true。
 void paint(Graphics g, JComponent c)
          繪製指定元件,使其適合外觀。
 void paintFocus(Graphics g)
           
protected  void paintHorizontalLabel(Graphics g, int value, Component label)
          為標籤表中的每個標籤調用此方法。
 void paintLabels(Graphics g)
           
protected  void paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
           
protected  void paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
           
protected  void paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
           
protected  void paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
           
 void paintThumb(Graphics g)
           
 void paintTicks(Graphics g)
           
 void paintTrack(Graphics g)
           
protected  void paintVerticalLabel(Graphics g, int value, Component label)
          為標籤表中的每個標籤調用此方法。
protected  void recalculateIfInsetsChanged()
           
protected  void recalculateIfOrientationChanged()
           
 void scrollByBlock(int direction)
           
 void scrollByUnit(int direction)
           
protected  void scrollDueToClickInTrack(int dir)
          在滑道(而非 thumb)中檢測到 mousePressed 時調用此方法。
 void setThumbLocation(int x, int y)
           
protected  void uninstallKeyboardActions(JSlider slider)
           
protected  void uninstallListeners(JSlider slider)
           
 void uninstallUI(JComponent c)
          在 installUI 期間,在指定元件上反向執行的配置操作。
 int valueForXPosition(int xPos)
          返回給出 x 位置的值。
 int valueForYPosition(int yPos)
          返回給出 y 位置的值。
protected  int xPositionForValue(int value)
           
protected  int yPositionForValue(int value)
           
protected  int yPositionForValue(int value, int trackY, int trackHeight)
          返回指定值的 y 位置。
 
從類別 javax.swing.plaf.ComponentUI 繼承的方法
contains, getAccessibleChild, getAccessibleChildrenCount, update
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

POSITIVE_SCROLL

public static final int POSITIVE_SCROLL
另請參見:
常數欄位值

NEGATIVE_SCROLL

public static final int NEGATIVE_SCROLL
另請參見:
常數欄位值

MIN_SCROLL

public static final int MIN_SCROLL
另請參見:
常數欄位值

MAX_SCROLL

public static final int MAX_SCROLL
另請參見:
常數欄位值

scrollTimer

protected Timer scrollTimer

slider

protected JSlider slider

focusInsets

protected Insets focusInsets

insetCache

protected Insets insetCache

leftToRightCache

protected boolean leftToRightCache

focusRect

protected Rectangle focusRect

contentRect

protected Rectangle contentRect

labelRect

protected Rectangle labelRect

tickRect

protected Rectangle tickRect

trackRect

protected Rectangle trackRect

thumbRect

protected Rectangle thumbRect

trackBuffer

protected int trackBuffer

trackListener

protected BasicSliderUI.TrackListener trackListener

changeListener

protected ChangeListener changeListener

componentListener

protected ComponentListener componentListener

focusListener

protected FocusListener focusListener

scrollListener

protected BasicSliderUI.ScrollListener scrollListener

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
建構子詳細資訊

BasicSliderUI

public BasicSliderUI(JSlider b)
方法詳細資訊

getShadowColor

protected Color getShadowColor()

getHighlightColor

protected Color getHighlightColor()

getFocusColor

protected Color getFocusColor()

isDragging

protected boolean isDragging()
如果使用者在拖動滑塊,則返回 true。

返回:
如果使用者在拖動滑塊,則返回 true
從以下版本開始:
1.5

createUI

public static ComponentUI createUI(JComponent b)

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(JSlider slider)

createTrackListener

protected BasicSliderUI.TrackListener createTrackListener(JSlider slider)

createChangeListener

protected ChangeListener createChangeListener(JSlider slider)

createComponentListener

protected ComponentListener createComponentListener(JSlider slider)

createFocusListener

protected FocusListener createFocusListener(JSlider slider)

createScrollListener

protected BasicSliderUI.ScrollListener createScrollListener(JSlider slider)

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener(JSlider slider)

installListeners

protected void installListeners(JSlider slider)

uninstallListeners

protected void uninstallListeners(JSlider slider)

installKeyboardActions

protected void installKeyboardActions(JSlider slider)

uninstallKeyboardActions

protected void uninstallKeyboardActions(JSlider slider)

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)

labelsHaveSameBaselines

protected boolean labelsHaveSameBaselines()
如果標籤表中的所有標籤具有相同的基線,則返回 true。

返回:
如果標籤表中的所有標籤具有相同的基線,則返回 true
從以下版本開始:
1.6

getPreferredHorizontalSize

public Dimension getPreferredHorizontalSize()

getPreferredVerticalSize

public Dimension getPreferredVerticalSize()

getMinimumHorizontalSize

public Dimension getMinimumHorizontalSize()

getMinimumVerticalSize

public Dimension getMinimumVerticalSize()

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

覆寫:
類別 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)

calculateGeometry

protected void calculateGeometry()

calculateFocusRect

protected void calculateFocusRect()

calculateThumbSize

protected void calculateThumbSize()

calculateContentRect

protected void calculateContentRect()

calculateThumbLocation

protected void calculateThumbLocation()

calculateTrackBuffer

protected void calculateTrackBuffer()

calculateTrackRect

protected void calculateTrackRect()

getTickLength

protected int getTickLength()
獲取水平滑塊的刻度區域的高度和垂直滑塊的刻度區域的寬度。BasicSliderUI 使用返回值確定刻度區域矩形。如果要給刻度一些空間,則使此寬度大於所需寬度並使用 paintTicks() 遠離邊繪製刻度。


calculateTickRect

protected void calculateTickRect()

calculateLabelRect

protected void calculateLabelRect()

getThumbSize

protected Dimension getThumbSize()

getWidthOfWidestLabel

protected int getWidthOfWidestLabel()

getHeightOfTallestLabel

protected int getHeightOfTallestLabel()

getWidthOfHighValueLabel

protected int getWidthOfHighValueLabel()

getWidthOfLowValueLabel

protected int getWidthOfLowValueLabel()

getHeightOfHighValueLabel

protected int getHeightOfHighValueLabel()

getHeightOfLowValueLabel

protected int getHeightOfLowValueLabel()

drawInverted

protected boolean drawInverted()

getHighestValue

protected Integer getHighestValue()
返回在標籤表中有一個項的最大值。

返回:
在標籤表中有一個項的最大值,或則返回 null。
從以下版本開始:
1.6

getLowestValue

protected Integer getLowestValue()
返回在標籤表中有一個項的最小值。

返回:
在標籤表中有一個項的最小值,或則返回 null。
從以下版本開始:
1.6

getLowestValueLabel

protected Component getLowestValueLabel()
返回與標籤表中的最高滑塊值相對應的標籤。

另請參見:
JSlider.setLabelTable(java.util.Dictionary)

getHighestValueLabel

protected Component getHighestValueLabel()
返回與標籤表中的最低滑塊值相對應的標籤。

另請參見:
JSlider.setLabelTable(java.util.Dictionary)

paint

public void paint(Graphics g,
                  JComponent c)
從類別 ComponentUI 複製的描述
繪製指定元件,使其適合外觀。在將要繪製指定元件時,從 ComponentUI.update 方法中調用此方法。子類別應該覆寫此方法並使用指定 Graphics 物件來呈現元件的內容。

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

recalculateIfInsetsChanged

protected void recalculateIfInsetsChanged()

recalculateIfOrientationChanged

protected void recalculateIfOrientationChanged()

paintFocus

public void paintFocus(Graphics g)

paintTrack

public void paintTrack(Graphics g)

paintTicks

public void paintTicks(Graphics g)

paintMinorTickForHorizSlider

protected void paintMinorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)

paintMajorTickForHorizSlider

protected void paintMajorTickForHorizSlider(Graphics g,
                                            Rectangle tickBounds,
                                            int x)

paintMinorTickForVertSlider

protected void paintMinorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)

paintMajorTickForVertSlider

protected void paintMajorTickForVertSlider(Graphics g,
                                           Rectangle tickBounds,
                                           int y)

paintLabels

public void paintLabels(Graphics g)

paintHorizontalLabel

protected void paintHorizontalLabel(Graphics g,
                                    int value,
                                    Component label)
為標籤表中的每個標籤調用此方法。用於繪製水平滑塊的標籤。已將圖形轉換為 labelRect.y。

另請參見:
JSlider.setLabelTable(java.util.Dictionary)

paintVerticalLabel

protected void paintVerticalLabel(Graphics g,
                                  int value,
                                  Component label)
為標籤表中的每個標籤調用此方法。用於繪製垂直平滑塊的標籤。已將圖形轉換為 labelRect.x。

另請參見:
JSlider.setLabelTable(java.util.Dictionary)

paintThumb

public void paintThumb(Graphics g)

setThumbLocation

public void setThumbLocation(int x,
                             int y)

scrollByBlock

public void scrollByBlock(int direction)

scrollByUnit

public void scrollByUnit(int direction)

scrollDueToClickInTrack

protected void scrollDueToClickInTrack(int dir)
在滑道(而非 thumb)中檢測到 mousePressed 時調用此方法。預設行為按塊滾動。可以覆寫此方法來阻止滾動或者添加其他行為。


xPositionForValue

protected int xPositionForValue(int value)

yPositionForValue

protected int yPositionForValue(int value)

yPositionForValue

protected int yPositionForValue(int value,
                                int trackY,
                                int trackHeight)
返回指定值的 y 位置。不對該參數進行檢查。尤其是,如果 trackHeight 負數,則結果是不確定的。

參數:
value - 要獲取其位置的滑塊值
trackY - 滑道 y 原點
trackHeight - 滑道高度
從以下版本開始:
1.6

valueForYPosition

public int valueForYPosition(int yPos)
返回給出 y 位置的值。如果 yPos 越過了滑道頂部或底部,則它會將該值設置為滑塊的最小值或最大值,這一點取決於是否反轉了滑塊。


valueForXPosition

public int valueForXPosition(int xPos)
返回給出 x 位置的值。如果 xPos 越過了滑道左邊或右邊,則它會將該值設置為滑塊的最小值或最大值,這一點取決於是否了反轉滑塊。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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