|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.swing
接口 BoundedRangeModel
- 所有已知实现类:
- DefaultBoundedRangeModel
-
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
。
- minimum 和 maximum 设置方法“纠正”其他三个属性,以适应其新 value 参数。例如,设置该模型的 minimum 属性可能更改其 maximum、value 和 extent 属性(以此顺序),以维持上述约束。
- value 和 extent 设置方法“纠正”其参数,以符合其他三个属性定义的限制。例如,如果
value == maximum
,则setExtent(10)
会将 extent 更改为(更改回)零。 - 这四个 BoundedRangeModel 值被定义为 Java Beans 属性,不过,Swing ChangeEvent 被用来通知客户端发生的更改,而不是 PropertyChangeEvent。这样做是为了保持监视 BoundedRangeModel 有一个低开销。更改常常根据 MouseDragged 比率进行报告。
有关指定滑块使用的自定义有限范围模型的示例,请参阅《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) 此属性指示,即将对模型值所做的任何更改都应被认为是一个单独的事件。 |
方法详细信息 |
---|
getMinimum
int getMinimum()
- 返回最小的可接受值。
-
- 返回:
- minimum 属性的值
- 另请参见:
-
setMinimum(int)
setMinimum
void setMinimum(int newMinimum)
-
将模型的 minimum 设置为 newMinimum。其他三个属性可能也要更改,以确保:
minimum <= value <= value+extent <= maximum
如果模型发生更改,则通知所有侦听器。
-
- 参数:
-
newMinimum
- 模型的新 minimum - 另请参见:
-
getMinimum()
,addChangeListener(javax.swing.event.ChangeListener)
getMaximum
int getMaximum()
- 返回模型的 maximum。注意,模型值的上限是 (maximum - extent)。
-
- 返回:
- maximum 属性的值。
- 另请参见:
-
setMaximum(int)
,setExtent(int)
setMaximum
void setMaximum(int newMaximum)
-
将模型的 maximum 设置为 newMaximum。其他三个属性可能也要更改,以确保
minimum <= value <= value+extent <= maximum
如果模型发生更改,则通知所有侦听器。
-
- 参数:
-
newMaximum
- 模型的新 maximum - 另请参见:
-
getMaximum()
,addChangeListener(javax.swing.event.ChangeListener)
getValue
int getValue()
-
返回模型的当前值。注意,模型值的上限是
maximum - extent
,下限是minimum
。 -
- 返回:
- 模型的值
- 另请参见:
-
setValue(int)
setValue
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()
setValueIsAdjusting
void setValueIsAdjusting(boolean b)
-
此属性指示,即将对模型值所做的任何更改都应被认为是一个单独的事件。在开始对该值进行一系列的更改时,此属性将被设置为 true,在该值已经结束更改时,该值将被设置为 false。通常,此方法允许侦听器只在提交了最终值时采取行动,而不是必须对所有中间值进行更新。
滑块和滚动条在进行拖动时使用此属性。
-
- 参数:
-
b
- 如果即将进行的 value 属性更改是一系列更改的一部分,则该参数为 true