-
- 所有已知实现类:
-
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
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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。 通常,这允许侦听器仅在最终值更改为commit时执行操作,而不必对所有中间值执行更新。当拖动正在进行时,滑块和滚动条使用此属性。
- 参数
-
b
- 如果对value属性的即将发生的更改是系列的一部分,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)
-
-