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