javax.swing

接口
异常
所有已知实现类:
DefaultBoundedRangeModel

public interface BoundedRangeModel

定义由 SliderProgressBar 这类组件使用的数据模型。定义四个相关的整数属性:minimum、maximum、extent 和 value。这四个整数定义了两个嵌套的区域,如下所示:

 minimum <= value <= value+extent <= maximum
 
外部区域是 minimum,maximum,内部区域是 value,value+extent。内部区域必须位于外部区域内,即 value 必须小于或等于 maximum,而 value+extent 必须大于或等于 minimum,并且 maximum 必须大于或等于 minimum。此模型有一些让人微感吃惊的功能。这些奇特功能的存在是为了方便 Swing BoundedRangeModel 客户端,比如 SliderScrollBar
  • 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

getValueIsAdjusting

boolean getValueIsAdjusting()
如果 value 属性的当前更改是一系列更改的一部分,则返回 true。

返回:
valueIsAdjustingProperty。
另请参见:
setValueIsAdjusting(boolean)

getExtent

int getExtent()
返回模型的 extent,即从模型的 value 开始的内部范围的长度。

返回:
模型的 extent 属性的值
另请参见:
setExtent(int), setValue(int)

setExtent

void setExtent(int newExtent)
设置模型的 extent。 newExtent 被迫大于或等于零,且小于等于 maximum - value。

在对滚动条使用 BoundedRange 模型时,extent 定义滚动条调节器(也称为 "thumb" 或 "elevator")的长度。extent 通常表示正被滚动的对象的可见量。在使用滑块时,extent 确定 value 可以“跳跃”多少,例如当用户按下 PgUp 或 PgDn 时跳跃的量。

如果模型发生更改,则通知所有侦听器。

参数:
newExtent - 模型的新 extent
另请参见:
getExtent(), setValue(int)

setRangeProperties

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)

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)