-
- 所有已知实现类:
-
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
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 voidaddChangeListener(ChangeListener x)将ChangeListener添加到模型的侦听器列表中。intgetExtent()返回模型的范围,从模型的值开始的内部范围的长度。intgetMaximum()返回模型的最大值。intgetMinimum()返回最小可接受值。intgetValue()返回模型的当前值。booleangetValueIsAdjusting()如果对value属性的当前更改是一系列更改的一部分,则返回true。voidremoveChangeListener(ChangeListener x)从模型的侦听器列表中删除ChangeListener。voidsetExtent(int newExtent)设置模型的范围。voidsetMaximum(int newMaximum)将模型的最大值设置为 newMaximum 。voidsetMinimum(int newMinimum)将模型的最小值设置为 newMinimum 。voidsetRangeProperties(int value, int extent, int min, int max, boolean adjusting)此方法使用单个方法调用设置所有模型的数据。voidsetValue(int newValue)如果newValue满足模型的约束,newValue模型的当前值设置为newValue。voidsetValueIsAdjusting(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属性的即将发生的更改是系列的一部分,btrue
-
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)
-
-