public interface BoundedRangeModel
Slider
s和ProgressBar
s。
定义四个相关的整数属性:最小值,最大值,范围和值。
这四个整数定义了两个这样的嵌套范围:
minimum <= value <= value+extent <= maximum
外部范围为minimum,maximum
,内部范围为value,value+extent
。
内范围必须位于外之一内,即value
必须小于或等于maximum
和value+extent
必须大于或等于minimum
和maximum
必须大于或等于minimum
。
这个模型有一些特点,可能会有一点令人惊讶。
存在这些怪癖是为了方便Swing BoundedRangeModel客户端,如Slider
和ScrollBar
。
value == maximum
setExtent(10)
范围(返回)更改为零。 用于指定由滑块使用的自定义界范围模型示例,请参见Separable model architecture在摆动架构概述。
DefaultBoundedRangeModel
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(ChangeListener x)
添加一个ChangeListener到模型的监听器列表。
|
int |
getExtent()
返回模型的范围,以模型值开始的内部范围的长度。
|
int |
getMaximum()
返回模型的最大值。
|
int |
getMinimum()
返回最小可接受值。
|
int |
getValue()
返回模型的当前值。
|
boolean |
getValueIsAdjusting()
如果当前对value属性的更改是一系列更改的一部分,则返回true。
|
void |
removeChangeListener(ChangeListener x)
从模型的监听器列表中删除一个ChangeListener。
|
void |
setExtent(int newExtent)
设置模型的范围。
|
void |
setMaximum(int newMaximum)
将模型的最大值设置为
newMaximum 。
|
void |
setMinimum(int newMinimum)
将模型的最小值设置为
newMinimum 。
|
void |
setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
该方法通过单个方法调用来设置所有模型的数据。
|
void |
setValue(int newValue)
如果
newValue 满足模型的约束,
newValue 模型的当前值设置为newValue。
|
void |
setValueIsAdjusting(boolean b)
该属性表示任何即将到来的对模型值的更改都应被视为单个事件。
|
int getMinimum()
setMinimum(int)
void setMinimum(int newMinimum)
minimum <= value <= value+extent <= maximum
如果模型发生变化,通知任何听众。
newMinimum
- 模型的新的最小值
getMinimum()
,
addChangeListener(javax.swing.event.ChangeListener)
int getMaximum()
setMaximum(int)
,
setExtent(int)
void setMaximum(int newMaximum)
minimum <= value <= value+extent <= maximum
如果模型发生变化,通知任何听众。
newMaximum
- 模型的最大值
getMaximum()
,
addChangeListener(javax.swing.event.ChangeListener)
int getValue()
maximum - extent
,下限为minimum
。
setValue(int)
void setValue(int newValue)
newValue
满足模型的约束, newValue
模型的当前值设置为newValue。
这些限制是:
minimum <= value <= value+extent <= maximum
否则,如果newValue
小于minimum
它设置为minimum
,如果它大于maximum
那么它设置为maximum
,如果它大于value+extent
那么它设置为value+extent
。
当BoundedRange模型与滚动条一起使用时,该值指定滚动条旋钮(也称为“大拇指”或“电梯”)的原点。 该值通常表示要滚动的对象的可见部分的原点。
如果模型发生变化,通知任何听众。
newValue
- 模型的新价值
getValue()
void setValueIsAdjusting(boolean b)
当拖动正在进行时,滑块和滚动条使用此属性。
b
- 如果值属性的即将更改是系列的一部分,则为true
boolean getValueIsAdjusting()
setValueIsAdjusting(boolean)
int getExtent()
setExtent(int)
,
setValue(int)
void setExtent(int newExtent)
当BoundedRange模型与滚动条一起使用时,范围定义滚动条旋钮的长度(又称“大拇指”或“电梯”)。 范围通常表示滚动对象的多少可见。 当与滑块一起使用时,该范围确定该值可以“跳转”多少,例如当用户按PgUp或PgDn时。
如果模型发生变化,通知任何听众。
newExtent
- 模型的新范围
getExtent()
,
setValue(int)
void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
value
- 一个int给出当前值
extent
- 一个int给出值可以“跳”的量
min
- 一个int给出最小值
max
- 一个int给出最大值
adjusting
- 一个布尔值,如果正在进行一系列更改,则返回true
setValue(int)
,
setExtent(int)
,
setMinimum(int)
,
setMaximum(int)
,
setValueIsAdjusting(boolean)
void addChangeListener(ChangeListener x)
x
- 要添加的ChangeListener
removeChangeListener(javax.swing.event.ChangeListener)
void removeChangeListener(ChangeListener x)
x
- 要删除的ChangeListener
addChangeListener(javax.swing.event.ChangeListener)