|
JavaTM 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
protected boolean snapToTicks
protected int orientation
setOrientation(int)
protected ChangeListener changeListener
createChangeListener
返回的 ChangeListener
,默认情况下,ChangeListener
仅将事件转发给直接添加到该滑块的 ChangeListener
(如果有)。
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
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
protected ChangeListener createChangeListener()
ChangeEvent
的子类可以重写此方法,以返回自定义 ChangeListener
实现的实例。默认 ChangeListener
调用 fireStateChanged
方法将 ChangeEvent
转发给已直接添加到滑块的 ChangeListener
。
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
中。
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
文档。
如果新值不同于以前的值,则通知所有的更改侦听器。
public int getMinimum()
BoundedRangeModel
返回滑块所支持的最小值。
setMinimum(int)
,
BoundedRangeModel.getMinimum()
public void setMinimum(int minimum)
minimum
。此方法将新的最小值转发给模型。
数据模型(BoundedRangeModel
实例)处理因赋值不当而引起的所有数学问题。有关详细信息,请参阅 BoundedRangeModel
文档。
如果新的最小值不同于以前的最小值,则通知所有的更改侦听器。
public int getMaximum()
BoundedRangeModel
返回滑块所支持的最大值。
setMaximum(int)
,
BoundedRangeModel.getMaximum()
public void setMaximum(int maximum)
maximum
。此方法将新的最大值转发给模型。
数据模型(BoundedRangeModel
实例)处理因赋值不当而引起的所有数学问题。有关详细信息,请参阅 BoundedRangeModel
文档。
如果新的最大值不同于以前的最大值,则通知所有的更改侦听器。
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。标签也将设置为其首选大小。
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 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。