Module  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
    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      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。 通常,这允许监听器只在提交的最终值更改时执行操作,而不必对所有中间值进行更新。

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

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