|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JSlider
public class JSlider
一個讓使用者以圖形方式在有界區間內通過移動滑塊來選擇值的元件。
滑塊可以顯示主刻度標記以及主刻度之間的次刻度標記。刻度標記之間的值的個數由 setMajorTickSpacing
和 setMinorTickSpacing
來控制。刻度標記的繪製由 setPaintTicks
控制。
滑塊也可以在固定時間間隔(或在任意位置)沿滑塊刻度列印文本標籤。標籤的繪製由 setLabelTable
和 setPaintLabels
控制。
有關更多資訊和範例,請參閱 The Java Tutorial 中的 How to Use Sliders 一節。
警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
巢狀類別摘要 | |
---|---|
protected class |
JSlider.AccessibleJSlider
此類別實作 JSlider 類別的可存取性支持。 |
從類別 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
changeListener(無前綴)是添加到滑塊模型的偵聽器。 |
protected int |
majorTickSpacing
主刻度標記(分解次刻度標記的較大標記)之間的值的個數。 |
protected int |
minorTickSpacing
次刻度標記(出現在主刻度標記之間的較小標記)之間的值的個數。 |
protected int |
orientation
滑塊方向是水平還是垂直的。 |
protected BoundedRangeModel |
sliderModel
處理滑塊的數字最大值、最小值和當前位置值的資料模型。 |
protected boolean |
snapToTicks
如果為 true,滑塊(及其所表示的值)解析為最靠近使用者放置滑塊處的刻度標記的值。 |
從類別 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 |
建構子摘要 | |
---|---|
JSlider()
創建一個範圍在 0 到 100 之間並且初始值為 50 的水平滑塊。 |
|
JSlider(BoundedRangeModel brm)
使用指定的 BoundedRangeModel 創建一個水平滑塊。 |
|
JSlider(int orientation)
使用指定的方向創建一個滑塊,範圍在 0 到 100 之間並且初始值為 50 。 |
|
JSlider(int min,
int max)
使用指定的最小值和最大值創建一個水平滑塊,初始值等於最小值加上最大值的平均值。 |
|
JSlider(int min,
int max,
int value)
用指定的最小值、最大值和初始值創建一個水平滑塊。 |
|
JSlider(int orientation,
int min,
int max,
int value)
用指定的方向和指定的最小值、最大值以及初始值創建一個滑塊。 |
方法摘要 | |
---|---|
void |
addChangeListener(ChangeListener l)
將一個 ChangeListener 添加到滑塊。 |
protected ChangeListener |
createChangeListener()
想要以不同方式處理模型的 ChangeEvent 的子類別可以覆寫此方法,以返回自定義 ChangeListener 實作的實例。 |
Hashtable |
createStandardLabels(int increment)
創建一個數字文本標籤的 Hashtable ,從滑塊最小值處開始並使用指定的增量。 |
Hashtable |
createStandardLabels(int increment,
int start)
創建一個數字文本標籤的 Hashtable ,從指定起始點處開始並使用指定的增量。 |
protected void |
fireStateChanged()
將一個其源為此 JSlider 的 ChangeEvent 發送到所有需要 ChangeEvent 的已註冊 ChangeListener 。 |
AccessibleContext |
getAccessibleContext()
獲取與此 JSlider 關聯的 AccessibleContext。 |
ChangeListener[] |
getChangeListeners()
返回一個通過 addChangeListener() 方法添加此 JSlider 的所有 ChangeListener 的陣列。 |
int |
getExtent()
從 BoundedRangeModel 返回「範圍」。 |
boolean |
getInverted()
如果滑塊顯示的值範圍反轉,則返回 true。 |
Dictionary |
getLabelTable()
返回哪些標籤在哪些值處繪製的字典。 |
int |
getMajorTickSpacing()
此方法返回主刻度標記的間隔。 |
int |
getMaximum()
從 BoundedRangeModel 返回滑塊所支持的最大值。 |
int |
getMinimum()
從 BoundedRangeModel 返回滑塊所支持的最小值。 |
int |
getMinorTickSpacing()
此方法返回次刻度標記的間隔。 |
BoundedRangeModel |
getModel()
返回處理滑塊三個基本屬性(minimum、maximum、value)的 BoundedRangeModel 。 |
int |
getOrientation()
返回此滑塊的垂直或者水平方向。 |
boolean |
getPaintLabels()
告知是否繪製標籤。 |
boolean |
getPaintTicks()
告知是否繪製刻度標記。 |
boolean |
getPaintTrack()
告知是否繪製滑道(滑塊滑動的區域)。 |
boolean |
getSnapToTicks()
如果滑塊(及其所表示的值)解析為最靠近使用者放置滑塊處的刻度標記的值,則返回為 true。 |
SliderUI |
getUI()
獲取實作此元件 L&F 的 UI 物件。 |
String |
getUIClassID()
返回呈現此元件的 L&F 的類別名。 |
int |
getValue()
從 BoundedRangeModel 返回滑塊的當前值。 |
boolean |
getValueIsAdjusting()
從模型返回 valueIsAdjusting 屬性。 |
protected String |
paramString()
返回此 JSlider 的字元串表示形式。 |
void |
removeChangeListener(ChangeListener l)
從滑塊中移除一個 ChangeListener。 |
void |
setExtent(int extent)
設置滑塊所“覆寫”的範圍的大小。 |
void |
setFont(Font font)
設置此元件的字體。 |
void |
setInverted(boolean b)
指定為 true,則反轉滑塊顯示的值範圍,指定為 false 則將值範圍置為正常順序。 |
void |
setLabelTable(Dictionary labels)
用於指定將在給定值處繪製哪個標籤。 |
void |
setMajorTickSpacing(int n)
此方法設置主刻度標記的間隔。 |
void |
setMaximum(int maximum)
將滑塊的最大值設置為 maximum 。 |
void |
setMinimum(int minimum)
將滑塊的最小值設置為 minimum 。 |
void |
setMinorTickSpacing(int n)
此方法設置次刻度標記的間隔。 |
void |
setModel(BoundedRangeModel newModel)
設置處理滑塊三個基本屬性(minimum、maximum、value)的 BoundedRangeModel 。 |
void |
setOrientation(int orientation)
將滑塊的方向設置為 SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL 。 |
void |
setPaintLabels(boolean b)
確定是否在滑塊上繪製標籤。 |
void |
setPaintTicks(boolean b)
確定是否在滑塊上繪製刻度標記。 |
void |
setPaintTrack(boolean b)
確定是否在滑塊上繪製滑道。 |
void |
setSnapToTicks(boolean b)
指定為 true,則滑塊(及其所表示的值)解析為最靠近使用者放置滑塊處的刻度標記的值。 |
void |
setUI(SliderUI ui)
設置實作此元件 L&F 的 UI 物件。 |
void |
setValue(int n)
將滑塊的當前值設置為 n 。 |
void |
setValueIsAdjusting(boolean b)
設置模型的 valueIsAdjusting 屬性。 |
protected void |
updateLabelUIs()
通過在每個標籤上調用 updateUI 更新標籤表中標籤的 UI。 |
void |
updateUI()
根據當前外觀將 UI 屬性重設為某個值。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
欄位詳細資訊 |
---|
protected BoundedRangeModel sliderModel
protected int majorTickSpacing
protected int minorTickSpacing
setMinorTickSpacing(int)
protected boolean snapToTicks
setSnapToTicks(boolean)
protected int orientation
setOrientation(int)
protected ChangeListener changeListener
createChangeListener
返回的 ChangeListener
,預設情況下,ChangeListener
僅將事件轉發給直接添加到該滑塊的 ChangeListener
(如果有)。
addChangeListener(javax.swing.event.ChangeListener)
,
createChangeListener()
protected transient ChangeEvent changeEvent
ChangeEvent
,因為該事件唯一(只讀)的狀態是源屬性。這裡產生的事件源總是 "this"。該事件是在第一次觸發某個事件通知時以延遲方式創建的。
fireStateChanged()
建構子詳細資訊 |
---|
public JSlider()
public JSlider(int orientation)
0
到 100
之間並且初始值為 50
。方向可以是 SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
。
orientation
- 滑塊的方向
IllegalArgumentException
- 如果方向不是 VERTICAL
、HORIZONTAL
之一setOrientation(int)
public JSlider(int min, int max)
保存滑塊資料的 BoundedRangeModel
可處理由於在滑塊上錯誤地設置了最小值和最大值而引起的任何問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
min
- 滑塊的最小值max
- 滑塊的最大值BoundedRangeModel
,
setMinimum(int)
,
setMaximum(int)
public JSlider(int min, int max, int value)
保存滑塊資料的 BoundedRangeModel
可處理由於在滑塊上錯誤地設置了最小值、初始值和最大值而引起的任何問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
min
- 滑塊的最小值max
- 滑塊的最大值value
- 滑塊的初始值BoundedRangeModel
,
setMinimum(int)
,
setMaximum(int)
,
setValue(int)
public JSlider(int orientation, int min, int max, int value)
SwingConstants.VERTICAL
或
SwingConstants.HORIZONTAL
。
保存滑塊資料的 BoundedRangeModel
可處理由於在滑塊上錯誤地設置了最小值、初始值和最大值而引起的任何問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
orientation
- 滑塊的方向min
- 滑塊的最小值max
- 滑塊的最大值value
- 滑塊的初始值
IllegalArgumentException
- 如果方向不是 VERTICAL
、HORIZONTAL
之一BoundedRangeModel
,
setOrientation(int)
,
setMinimum(int)
,
setMaximum(int)
,
setValue(int)
public JSlider(BoundedRangeModel brm)
方法詳細資訊 |
---|
public SliderUI getUI()
public void setUI(SliderUI ui)
ui
- SliderUI 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()
ChangeEvent
的子類別可以覆寫此方法,以返回自定義 ChangeListener
實作的實例。預設 ChangeListener
調用 fireStateChanged
方法將 ChangeEvent
轉發給已直接添加到滑塊的 ChangeListener
。
changeListener
,
fireStateChanged()
,
ChangeListener
,
BoundedRangeModel
public void addChangeListener(ChangeListener l)
l
- 要添加的 ChangeListenerfireStateChanged()
,
removeChangeListener(javax.swing.event.ChangeListener)
public void removeChangeListener(ChangeListener l)
l
- 要移除的 ChangeListenerfireStateChanged()
,
addChangeListener(javax.swing.event.ChangeListener)
public ChangeListener[] getChangeListeners()
ChangeListener
的陣列。
ChangeListener
;如果沒有添加任何偵聽器,則返回空陣列protected void fireStateChanged()
JSlider
的 ChangeEvent
發送到所有需要 ChangeEvent
的已註冊 ChangeListener
。每次從模型中收到 ChangeEvent
時都要調用此方法。
必要時創建事件實例,並存儲在 changeEvent
中。
addChangeListener(javax.swing.event.ChangeListener)
,
EventListenerList
public BoundedRangeModel getModel()
BoundedRangeModel
。
setModel(javax.swing.BoundedRangeModel)
,
BoundedRangeModel
public void setModel(BoundedRangeModel newModel)
BoundedRangeModel
。
試圖將 null
模型傳遞給此方法將導致不確定的行為,很有可能是異常。
newModel
- 要使用的新的非 null
BoundedRangeModel
getModel()
,
BoundedRangeModel
public int getValue()
BoundedRangeModel
返回滑塊的當前值。
setValue(int)
,
BoundedRangeModel.getValue()
public void setValue(int n)
n
。此方法將新值轉發給模型。
資料模型(BoundedRangeModel
實例)處理因賦值不當而引起的所有數學問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
如果新值不同於以前的值,則通知所有的更改偵聽器。
n
- 新值getValue()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setValue(int)
public int getMinimum()
BoundedRangeModel
返回滑塊所支持的最小值。
setMinimum(int)
,
BoundedRangeModel.getMinimum()
public void setMinimum(int minimum)
minimum
。此方法將新的最小值轉發給模型。
資料模型(BoundedRangeModel
實例)處理因賦值不當而引起的所有數學問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
如果新的最小值不同於以前的最小值,則通知所有的更改偵聽器。
n
- 新的最小值getMinimum()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setMinimum(int)
public int getMaximum()
BoundedRangeModel
返回滑塊所支持的最大值。
setMaximum(int)
,
BoundedRangeModel.getMaximum()
public void setMaximum(int maximum)
maximum
。此方法將新的最大值轉發給模型。
資料模型(BoundedRangeModel
實例)處理因賦值不當而引起的所有數學問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
如果新的最大值不同於以前的最大值,則通知所有的更改偵聽器。
n
- 新的最大值getMaximum()
,
addChangeListener(javax.swing.event.ChangeListener)
,
BoundedRangeModel.setMaximum(int)
public boolean getValueIsAdjusting()
valueIsAdjusting
屬性。有關如何使用此方法的詳細資訊,請參閱 setValueIsAdjusting
文檔。
valueIsAdjusting
屬性的值setValueIsAdjusting(boolean)
public void setValueIsAdjusting(boolean b)
valueIsAdjusting
屬性。滑塊的外觀實作應該在開始拖動滑塊時將此屬性設置為 true
,並在拖動結束時設為 false
。當 valueIsAdjusting
為 true
時,滑塊模型不會產生 ChangeEvent
。
b
- valueIsAdjusting
屬性的新值getValueIsAdjusting()
,
BoundedRangeModel.setValueIsAdjusting(boolean)
public int getExtent()
BoundedRangeModel
返回「範圍」。此範圍表示滑塊所「覆寫」的範圍。
setExtent(int)
,
BoundedRangeModel.getExtent()
public void setExtent(int extent)
資料模型(BoundedRangeModel
實例)處理因賦值不當而引起的所有數學問題。有關詳細資訊,請參閱 BoundedRangeModel
文檔。
如果新的範圍值不同於以前的範圍值,則通知所有的更改偵聽器。
extent
- 新的範圍值getExtent()
,
BoundedRangeModel.setExtent(int)
public int getOrientation()
SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
setOrientation(int)
public void setOrientation(int orientation)
SwingConstants.VERTICAL
或 SwingConstants.HORIZONTAL
。
orientation
- HORIZONTAL
或 VERTICAL
IllegalArgumentException
- 如果方向不是 VERTICAL
、HORIZONTAL
之一getOrientation()
public void setFont(Font font)
JComponent
中的 setFont
font
- 此元件所需的 Font
Component.getFont()
public Dictionary getLabelTable()
Dictionary
public void setLabelTable(Dictionary labels)
{ Integer value, java.swing.JComponent label }
。
產生值標籤標準表的一個便捷方式是通過使用 createStandardLabels
方法。
只要已經設置了該標籤,此方法就調用 updateLabelUIs()
。注意,只有 paintLabels
屬性為 true
時才繪製該標籤。
labels
- 標籤的新 Dictionary
,為 null
表示移除所有標籤createStandardLabels(int)
,
getLabelTable()
,
setPaintLabels(boolean)
protected void updateLabelUIs()
updateUI
更新標籤表中標籤的 UI。根據當前外觀更新 UI。標籤也將設置為其首選大小。
setLabelTable(java.util.Dictionary)
,
JComponent.updateUI()
public Hashtable createStandardLabels(int increment)
Hashtable
,從滑塊最小值處開始並使用指定的增量。例如,如果調用 createStandardLabels( 10 )
並且滑塊的最小值為 0,那麼創建的標籤值將為 0、10、20、30,依此類別推。
對於要在滑塊上繪製的標籤,返回的 Hashtable
必須傳遞到 setLabelTable
並且 setPaintLabels
必須被設置為 true
。
有關返回的 Hashtable
組成的更多資訊,請參閱 setLabelTable
文檔。
increment
- 產生的雜湊表中標籤之間的距離
Hashtable
IllegalArgumentException
- 如果 increment
小於等於 0setLabelTable(java.util.Dictionary)
,
setPaintLabels(boolean)
public Hashtable createStandardLabels(int increment, int start)
Hashtable
,從指定起始點處開始並使用指定的增量。例如,如果調用 createStandardLabels( 10, 2 )
,那麼創建的標籤值將為 2、12、22、32,依此類別推。
對於要在滑塊上繪製的標籤,返回的 Hashtable
必須傳遞到 setLabelTable
並且 setPaintLabels
必須設置為 true
。
有關返回的 Hashtable
組成的更多資訊,請參閱 setLabelTable
文檔。
increment
- 產生的雜湊表中標籤之間的距離start
- 標籤的開始值
Hashtable
IllegalArgumentException
- 如果 start
超出範圍,或者 increment
小於等於 0setLabelTable(java.util.Dictionary)
,
setPaintLabels(boolean)
public boolean getInverted()
setInverted(boolean)
public void setInverted(boolean b)
ComponentOrientation
屬性。ComponentOrientation
值為 LEFT_TO_RIGHT
的正常(非反轉)水平滑塊最大值位於右邊。ComponentOrientation
值為 RIGHT_TO_LEFT
的正常水平滑塊最大值位於左邊。正常的垂直滑塊其最大值位於頂部。當滑塊顛倒時,這些標籤也反轉。
預設情況下,此屬性的值為 false
。
b
- 為 true 時從滑塊正常順序反轉滑塊值public int getMajorTickSpacing()
setMajorTickSpacing(int)
public void setMajorTickSpacing(int n)
要繪製主刻度,setPaintTicks
必須設置為 true
。
此方法也將為您設置一個標籤表。如果還沒有標籤表,並且主刻度間隔為 > 0
,並且 getPaintLabels
返回 true
,則會產生一個在主刻度標記處帶有標籤的標準標籤表(通過調用 createStandardLabels
)。對於上述範例,將獲取文本標籤:"0"、"10"、"20"、"30"、"40"、"50"。然後通過調用 setLabelTable
在滑塊上設置標籤表。
n
- majorTickSpacing
屬性的新值getMajorTickSpacing()
,
setPaintTicks(boolean)
,
setLabelTable(java.util.Dictionary)
,
createStandardLabels(int)
public int getMinorTickSpacing()
getMinorTickSpacing()
public void setMinorTickSpacing(int n)
要繪製次刻度,setPaintTicks
必須設置為 true
。
n
- minorTickSpacing
屬性的新值getMinorTickSpacing()
,
setPaintTicks(boolean)
public boolean getSnapToTicks()
setSnapToTicks(boolean)
public void setSnapToTicks(boolean b)
false
。
b
- 為 true 則對齊滑塊到最近的刻度標記getSnapToTicks()
public boolean getPaintTicks()
setPaintTicks(boolean)
public void setPaintTicks(boolean b)
false
。
b
- 是否應該繪製標記刻度getPaintTicks()
public boolean getPaintTrack()
setPaintTrack(boolean)
public void setPaintTrack(boolean b)
true
。
b
- 是否繪製滑道getPaintTrack()
public boolean getPaintLabels()
setPaintLabels(boolean)
public void setPaintLabels(boolean b)
此方法也將為您設置一個標籤表。如果還沒有標籤表,並且主刻度間隔為 > 0
,則會產生一個在主刻度標記處帶有標籤的標準標籤表(通過調用 createStandardLabels
)。然後通過調用 setLabelTable
在滑塊上設置標籤表。
預設情況下,此屬性為 false
。
b
- 是否繪製標籤getPaintLabels()
,
getLabelTable()
,
createStandardLabels(int)
protected String paramString()
null
。
JComponent
中的 paramString
public AccessibleContext getAccessibleContext()
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。