-
- 所有已知实现类:
-
DefaultBoundedRangeModel
public interface BoundedRangeModel
定义Slider
和ProgressBar
等组件使用的数据模型。 定义四个相关的整数属性:最小值,最大值,范围和值。 这四个整数定义了两个这样的嵌套范围: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)
会程度(背面)改变到零。 - 四个BoundedRangeModel值被定义为Java Beans属性,但是Swing ChangeEvents用于通知客户端更改而不是PropertyChangeEvents。 这样做是为了保持监控BoundedRangeModel的开销。 更改通常以MouseDragged率报告。
有关指定滑块使用的自定义有界范围模型的示例,请参阅“ A Swing Architecture概述”中的 Separable model architecture 。
- 从以下版本开始:
- 1.2
- 另请参见:
-
DefaultBoundedRangeModel
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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)
该属性表示任何即将到来的对模型值的更改都应被视为单个事件。
-
-
-
方法详细信息
-
getMinimum
int getMinimum()
返回最小可接受值。- 结果
- 最小属性的值
- 另请参见:
-
setMinimum(int)
-
setMinimum
void setMinimum(int newMinimum)
将模型的最小值设置为newMinimum 。 其他三个属性也可以更改,以确保:minimum <= value <= value+extent <= maximum
如果模型发生变化,通知任何听众。
- 参数
-
newMinimum
- 模型的新的最小值 - 另请参见:
-
getMinimum()
,addChangeListener(javax.swing.event.ChangeListener)
-
getMaximum
int getMaximum()
返回模型的最大值。 请注意,模型值的上限为(最大范围)。- 结果
- 最大属性的值。
- 另请参见:
-
setMaximum(int)
,setExtent(int)
-
setMaximum
void setMaximum(int newMaximum)
将模型的最大值设置为newMaximum 。 另外三个属性也可以改变,以确保minimum <= value <= value+extent <= maximum
如果模型发生变化,通知任何听众。
- 参数
-
newMaximum
- 模型的最大值 - 另请参见:
-
getMaximum()
,addChangeListener(javax.swing.event.ChangeListener)
-
getValue
int getValue()
返回模型的当前值。 请注意,模型值的上限为maximum - extent
,下限为minimum
。- 结果
- 模型的价值
- 另请参见:
-
setValue(int)
-
setValue
void setValue(int newValue)
如果newValue
满足模型的约束,newValue
模型的当前值设置为newValue
。 这些限制是:minimum <= value <= value+extent <= maximum
否则,如果newValue
小于minimum
它设置为minimum
,如果大于maximum
然后将它设置为maximum
,如果它是大于value+extent
那么它设置为value+extent
。当BoundedRange模型与滚动条一起使用时,该值指定滚动条旋钮(也称为“大拇指”或“电梯”)的原点。 该值通常表示要滚动的对象的可见部分的原点。
如果模型发生变化,通知任何听众。
- 参数
-
newValue
- 模型的新价值 - 另请参见:
-
getValue()
-
setValueIsAdjusting
void setValueIsAdjusting(boolean b)
该属性表示任何即将到来的对模型值的更改都应被视为单个事件。 在该值的一系列更改开始时,此属性将设置为true,并且在值完成更改后将其设置为false。 通常,这允许监听器只在提交的最终值更改时执行操作,而不必对所有中间值进行更新。当拖动正在进行时,滑块和滚动条使用此属性。
- 参数
-
b
- 如果值属性的即将更改是系列的一部分,b
true
-
getValueIsAdjusting
boolean getValueIsAdjusting()
如果当前对value属性的更改是一系列更改的一部分,则返回true。- 结果
- valueIsAdjustingProperty。
- 另请参见:
-
setValueIsAdjusting(boolean)
-
getExtent
int getExtent()
返回模型的范围,以模型值开始的内部范围的长度。- 结果
- 该模型的范围属性的值
- 另请参见:
-
setExtent(int)
,setValue(int)
-
setExtent
void setExtent(int newExtent)
设置模型的范围。 newExtent被强制为大于或等于零且小于或等于最大值。当BoundedRange模型与滚动条一起使用时,范围定义滚动条旋钮的长度(又称“大拇指”或“电梯”)。 范围通常表示滚动对象的多少可见。 当与滑块一起使用时,该范围确定该值可以“跳转”多少,例如当用户按PgUp或PgDn时。
如果模型发生变化,通知任何听众。
- 参数
-
newExtent
- 模型的新范围 - 另请参见:
-
getExtent()
,setValue(int)
-
setRangeProperties
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)
-
addChangeListener
void addChangeListener(ChangeListener x)
添加一个ChangeListener到模型的监听器列表。- 参数
-
x
- 要添加的ChangeListener - 另请参见:
-
removeChangeListener(javax.swing.event.ChangeListener)
-
removeChangeListener
void removeChangeListener(ChangeListener x)
从模型的监听器列表中删除一个ChangeListener。- 参数
-
x
- 要删除的ChangeListener - 另请参见:
-
addChangeListener(javax.swing.event.ChangeListener)
-
-