模块  java.desktop
软件包  javax.swing

Interface BoundedRangeModel

  • 所有已知实现类:
    DefaultBoundedRangeModel

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

    有关指定滑块使用的自定义有界范围模型的示例,请参阅A Swing Architecture概述中的 Separable model architecture

    从以下版本开始:
    1.2
    另请参见:
    DefaultBoundedRangeModel
    • 方法摘要

      所有方法  实例方法 抽象方法 
      变量和类型 方法 描述
      void addChangeListener​(ChangeListener x)
      将ChangeListener添加到模型的侦听器列表中。
      int getExtent()
      返回模型的范围,从模型的值开始的内部范围的长度。
      int getMaximum()
      返回模型的最大值。
      int getMinimum()
      返回最小可接受值。
      int getValue()
      返回模型的当前值。
      boolean getValueIsAdjusting()
      如果对value属性的当前更改是一系列更改的一部分,则返回true。
      void removeChangeListener​(ChangeListener x)
      从模型的侦听器列表中删除ChangeListener。
      void setExtent​(int newExtent)
      设置模型的范围。
      void setMaximum​(int newMaximum)
      将模型的最大值设置为 newMaximum
      void setMinimum​(int newMinimum)
      将模型的最小值设置为 newMinimum
      void setRangeProperties​(int value, int extent, int min, int max, boolean adjusting)
      此方法使用单个方法调用设置所有模型的数据。
      void setValue​(int newValue)
      如果 newValue满足模型的约束, newValue模型的当前值设置为 newValue
      void setValueIsAdjusting​(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。 通常,这允许侦听器仅在最终值更改为commit时执行操作,而不必对所有中间值执行更新。

        当拖动正在进行时,滑块和滚动条使用此属性。

        参数
        b - 如果对value属性的即将发生的更改是系列的一部分, b true
      • 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)