模块 java.desktop

接口 BoundedRangeModel

所有已知的实现类:
DefaultBoundedRangeModel

public interface BoundedRangeModel
定义 Slider s 和 ProgressBar s 等组件使用的数据模型。定义四个相互关联的整数属性:最小值、最大值、范围和值。这四个整数定义了两个嵌套范围,如下所示:
 minimum <= value <= value+extent <= maximum
 
外部范围是 minimum,maximum,内部范围是 value,value+extent。内部范围必须位于外部范围内,即 value 必须小于或等于 maximum 并且 value+extent 必须大于或等于 minimum ,并且 maximum 必须大于或等于 minimum 。该模型的一些功能可能会让您感到有些惊讶。这些怪癖的存在是为了方便 Swing BoundedRangeModel 客户端,例如 SliderScrollBar
  • 最小值和最大值设置方法“更正”其他三个属性以适应它们的新值参数。例如,设置模型的最小值可能会更改其最大值、值和范围属性(按此顺序),以保持上面指定的约束。
  • value 和 extent set 方法“更正”它们的参数以适应其他三个属性定义的限制。例如,如果 value == maximumsetExtent(10) 会将范围(返回)更改为零。
  • 四个 BoundedRangeModel 值被定义为 Java Beans 属性,但是 Swing ChangeEvents 用于通知客户端更改而不是 PropertyChangeEvents。这样做是为了降低监视 BoundedRangeModel 的开销。通常以 MouseDragged 速率报告更改。

有关指定滑块使用的自定义有界范围模型的示例,请参阅 A Swing Architecture Overview. 中的 可分离模型架构

自从:
1.2
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    将 ChangeListener 添加到模型的监听列表中。
    int
    返回模型的范围,即从模型值开始的内部范围的长度。
    int
    返回模型的最大值。
    int
    返回可接受的最小值。
    int
    返回模型的当前值。
    boolean
    如果对 value 属性的当前更改是一系列更改的一部分,则返回 true。
    void
    从模型的监听列表中删除 ChangeListener。
    void
    setExtent(int newExtent)
    设置模型的范围。
    void
    setMaximum(int newMaximum)
    将模型的最大值设置为新最大值.
    void
    setMinimum(int 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()
      返回可接受的最小值。
      返回:
      最小财产的值
      参见:
    • setMinimum

      void setMinimum(int newMinimum)
      将模型的最小值设置为新最低.其他三个属性也可以更改,以确保:
       minimum <= value <= value+extent <= maximum
       

      如果模型发生变化,通知任何听众。

      参数:
      newMinimum - 模型的新最小值
      参见:
    • getMaximum

      int getMaximum()
      返回模型的最大值。请注意,模型值的上限是(最大 - 范围)。
      返回:
      最大属性的值。
      参见:
    • setMaximum

      void setMaximum(int newMaximum)
      将模型的最大值设置为新最大值.其他三个属性也可以更改,以确保
       minimum <= value <= value+extent <= maximum
       

      如果模型发生变化,通知任何听众。

      参数:
      newMaximum - 模型的新最大值
      参见:
    • getValue

      int getValue()
      返回模型的当前值。请注意,模型值的上限为 maximum - extent,下限为 minimum
      返回:
      模型的值
      参见:
    • setValue

      void setValue(int newValue)
      如果 newValue 满足模型的约束,则将模型的当前值设置为 newValue。这些约束是:
       minimum <= value <= value+extent <= maximum
       
      否则,如果 newValue 小于 minimum,则设置为 minimum,如果大于 maximum,则设置为 maximum,如果大于 value+extent,则设置为 value+extent

      当 BoundedRange 模型与滚动条一起使用时,该值指定滚动条旋钮的原点(又名“拇指”或“电梯”)。该值通常表示正在滚动的对象的可见部分的原点。

      如果模型发生变化,通知任何听众。

      参数:
      newValue - 模型的新值
      参见:
    • setValueIsAdjusting

      void setValueIsAdjusting(boolean b)
      此属性指示任何即将对模型值进行的更改都应被视为单个事件。此属性将在值的一系列更改开始时设置为 true,并在值完成更改后设置为 false。通常,这允许监听仅在提交的最终值更改时才采取行动,而不必对所有中间值进行更新。

      滑块和滚动条在拖动过程中使用此属性。

      参数:
      b - 如果即将对 value 属性进行的更改是一系列的一部分,则为真
    • getValueIsAdjusting

      boolean getValueIsAdjusting()
      如果对 value 属性的当前更改是一系列更改的一部分,则返回 true。
      返回:
      valueIsAdjusting 属性。
      参见:
    • getExtent

      int getExtent()
      返回模型的范围,即从模型值开始的内部范围的长度。
      返回:
      模型的范围属性的值
      参见:
    • setExtent

      void setExtent(int newExtent)
      设置模型的范围。这新范围强制大于或等于零且小于或等于最大值。

      当 BoundedRange 模型与滚动条一起使用时,范围定义滚动条旋钮(又名“拇指”或“电梯”)的长度。范围通常表示被滚动的对象有多少是可见的。当与滑块一起使用时,范围决定了值可以“跳跃”的程度,例如当用户按下 PgUp 或 PgDn 时。

      如果模型发生变化,通知任何听众。

      参数:
      newExtent - 模型的新范围
      参见:
    • setRangeProperties

      void setRangeProperties(int value, int extent, int min, int max, boolean adjusting)
      此方法通过单个方法调用设置模型的所有数据。该方法导致生成单个更改事件。当您需要同时调整所有模型数据并且不希望发生单独的更改事件时,这很方便。
      参数:
      value - 一个给出当前值的整数
      extent - 一个整数,给出值可以“跳跃”的量
      min - 给出最小值的整数
      max - 一个给出最大值的整数
      adjusting - boolean,如果正在进行一系列更改则为真
      参见:
    • addChangeListener

      void addChangeListener(ChangeListener  x)
      将 ChangeListener 添加到模型的监听列表中。
      参数:
      x - 要添加的 ChangeListener
      参见:
    • removeChangeListener

      void removeChangeListener(ChangeListener  x)
      从模型的监听列表中删除 ChangeListener。
      参数:
      x - 要移除的 ChangeListener
      参见: