public interface BoundedRangeModel
定义由 Slider
和 ProgressBar
这类组件使用的数据模型。定义四个相关的整数属性:minimum、maximum、extent 和 value。这四个整数定义了两个嵌套的区域,如下所示:
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)
会将 extent 更改为(更改回)零。 有关指定滑块使用的自定义有限范围模型的示例,请参阅 The Java Tutorial 中的 The Anatomy of a Swing-Based Program 一节。
DefaultBoundedRangeModel
方法摘要 | |
---|---|
void |
addChangeListener(ChangeListener x) 将一个 ChangeListener 添加到模型的侦听器列表中。 |
int |
getExtent() 返回模型的 extent,即从模型的 value 开始的内部范围的长度。 |
int |
getMaximum() 返回模型的 maximum。 |
int |
getMinimum() 返回最小的可接受值。 |
int |
getValue() 返回模型的当前值。 |
boolean |
getValueIsAdjusting() 如果 value 属性的当前更改是一系列更改的一部分,则返回 true。 |
void |
removeChangeListener(ChangeListener x) 从模型的侦听器列表中移除一个 ChangeListener。 |
void |
setExtent(int newExtent) 设置模型的 extent。 |
void |
setMaximum(int newMaximum) 将模型的 maximum 设置为 newMaximum。 |
void |
setMinimum(int newMinimum) 将模型的 minimum 设置为 newMinimum。 |
void |
setRangeProperties(int value, int extent, int min, int max, boolean adjusting) 此方法使用一个方法调用设置模型的所有数据。 |
void |
setValue(int newValue) 如果 newValue 满足模型的约束限制,则将模型的当前值设置为 newValue 。 |
void |
setValueIsAdjusting(boolean b) 此属性指示,即将对模型值所做的任何更改都应被认为是一个单独的事件。 |
方法详细信息 |
---|
int getMinimum()
setMinimum(int)
void setMinimum(int newMinimum)
minimum <= value <= value+extent <= maximum
如果模型发生更改,则通知所有侦听器。
newMinimum
- 模型的新 minimum
getMinimum()
,
addChangeListener(javax.swing.event.ChangeListener)
int getMaximum()
setMaximum(int)
,
setExtent(int)
void setMaximum(int newMaximum)
minimum <= value <= value+extent <= maximum
如果模型发生更改,则通知所有侦听器。
newMaximum
- 模型的新 maximum
getMaximum()
,
addChangeListener(javax.swing.event.ChangeListener)
int getValue()
maximum - extent
,下限是
minimum
。
setValue(int)
void setValue(int newValue)
newValue
满足模型的约束限制,则将模型的当前值设置为
newValue
。这些约束限制是:
minimum <= value <= value+extent <= maximum否则,如果
newValue
小于
minimum
,则将它设置为
minimum
;如果它大于
maximum
,则将它设置为
maximum
;如果它大于
value+extent
,则将它设置为
value+extent
。
在对滚动条使用 BoundedRange 模型时,value 指定滚动条调节器(也称为 "thumb" 或 "elevator")的起始点。value 通常表示正被滚动对象的可见部分的起始点。
如果模型发生更改,则通知所有侦听器。
newValue
- 模型的新值
getValue()
void setValueIsAdjusting(boolean b)
滑块和滚动条在进行拖动时使用此属性。
b
- 如果即将进行的 value 属性更改是一系列更改的一部分,则该参数为 true
boolean getValueIsAdjusting()
setValueIsAdjusting(boolean)
int getExtent()
setExtent(int)
,
setValue(int)
void setExtent(int newExtent)
在对滚动条使用 BoundedRange 模型时,extent 定义滚动条调节器(也称为 "thumb" 或 "elevator")的长度。extent 通常表示正被滚动的对象的可见量。在使用滑块时,extent 确定 value 可以“跳跃”多少,例如当用户按下 PgUp 或 PgDn 时跳跃的量。
如果模型发生更改,则通知所有侦听器。
newExtent
- 模型的新 extent
getExtent()
,
setValue(int)
void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
value
- 给出当前值的一个 int 值
extent
- 给出 value 可以“跳跃”的量的 int 值
min
- 给出 minimum 值的 int 值
max
- 给出 maximum 值的 int 值
adjusting
- 一个 boolean 值,如果正在进行一系列的更改,则该参数为 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)