模块  java.desktop
软件包  javax.swing

Class Spring


  • public abstract class Spring
    extends Object
    Spring类的实例包含三个表征其行为的属性: 最小值首选值和最大值 这些属性中的每一个都可能涉及基于一系列规则定义其第四个 ,属性。

    可以将Spring类的实例可视化为机械弹簧,当弹簧被压缩或拉伸远离其优选值时,该机械弹簧提供校正力。 该力被建模为距离优选值的距离的线性函数,但具有两个不同的常数 - 一个用于压缩力,一个用于拉伸力。 这些常数由弹簧的最小值和最大值指定,使得处于其最小值的弹簧产生与其处于其最大值时产生的力相等且相反的力。 因此, 优选值和最小值之间的差异表示弹簧可以被压缩的容易程度以及其最大值优选值之间的差异表示Spring可以扩展的容易程度。 有关详细信息,请参阅sum(javax.swing.Spring, javax.swing.Spring)方法。

    通过在定义简单的算术运算Spring S,的集合的行为Spring s时,可以减少到一个普通的(非复合) Spring 我们在Spring s上定义“+”,“ - ”, maxmin运算符,以便在每种情况下,结果都是Spring其特征与其组成弹簧具有有用的数学关系。

    Spring可被视为具有单个公共点的一对区间:首选值。 以下规则定义了一些可应用于区间的算术运算符( [a, b]是指从ab的区间,其中a <= b )。

      [a1, b1] + [a2, b2] = [a1 + a2, b1 + b2]
    
                          -[a, b] = [-b, -a]
    
          max([a1, b1], [a2, b2]) = [max(a1, a2), max(b1, b2)] 

    如果我们表示Spring S作为[a, b, c] ,其中a <= b <= c ,我们可以定义在相同的算术运算符Spring S:

      [a1, b1, c1] + [a2, b2, c2] = [a1 + a2, b1 + b2, c1 + c2]
    
                               -[a, b, c] = [-c, -b, -a]
    
          max([a1, b1, c1], [a2, b2, c2]) = [max(a1, a2), max(b1, b2), max(c1, c2)] 

    使用两个区间和Spring s我们可以用否定来定义“ - ”和min

      X - Y = X + (-Y)
    
          min(X, Y) = -max(-X, -Y) 

    对于此类中包含算术运算符的静态方法,我们实际上并不执行有问题的操作,因为这会在调用静态方法时对方法参数的属性值进行快照。 相反,静态方法创建一个新的Spring实例,其中包含对方法参数的引用,以便新弹簧的特征跟踪弹簧的特征。 这有点像功能语言中的惰性值

    如果您要实现SpringLayout ,可以在How to Use SpringLayout (Java教程中的一节)中找到更多信息和示例

    警告:此类的序列化对象与以后的Swing版本不兼容。 当前的序列化支持适用于运行相同版本Swing的应用程序之间的短期存储或RMI。 从1.4开始, java.beans软件包中添加了对所有JavaBeans java.beans长期存储的支持。 请参阅XMLEncoder

    从以下版本开始:
    1.4
    另请参见:
    SpringLayoutSpringLayout.Constraints
    • 字段汇总

      字段  
      变量和类型 字段 描述
      static int UNSET
      一个整数值,表示尚未计算属性值。
    • 构造方法摘要

      构造方法  
      变量 构造器 描述
      protected Spring()
      由工厂方法用于创建 Spring
    • 方法摘要

      所有方法  静态方法  实例方法 抽象方法  具体的方法 
      变量和类型 方法 描述
      static Spring constant​(int pref)
      返回一个strut - 一个spring,其 minimumpreferredmaximum值各自的值为 pref
      static Spring constant​(int min, int pref, int max)
      返回弹簧,其 最小优选的 ,并且 最大值具有以下值: minpref ,和 max分别。
      abstract int getMaximumValue()
      返回此 Spring最大值
      abstract int getMinimumValue()
      返回此 Spring最小值
      abstract int getPreferredValue()
      返回此 Spring首选值。
      abstract int getValue()
      返回此 Spring的当前
      static Spring height​(Component c)
      返回一个spring,其 minimumpreferredmaximumvalue属性由所提供组件的 minimumSizepreferredSizemaximumSizesize属性的高度定义。
      static Spring max​(Spring s1, Spring s2)
      返回 max(s1, s2) :一个spring,其值始终大于(或等于) s1s2的值。
      static Spring minus​(Spring s)
      返回 -s :弹簧以与 s相反的方向运行。
      static Spring scale​(Spring s, float factor)
      返回一个spring,其 minimumpreferredmaximumvalue属性是参数spring s的属性的 s
      abstract void setValue​(int value)
      将此 Spring的当前 设置为 value
      static Spring sum​(Spring s1, Spring s2)
      返回 s1+s2 :春天代表 s1s2系列。
      static Spring width​(Component c)
      返回一个spring,其 minimumpreferredmaximumvalue属性由所提供组件的 minimumSizepreferredSizemaximumSizesize属性的宽度定义。
    • 字段详细信息

      • UNSET

        public static final int UNSET
        一个整数值,表示尚未计算属性值。
        另请参见:
        常数字段值
    • 方法详细信息

      • getMinimumValue

        public abstract int getMinimumValue()
        返回此 Spring最小值
        结果
        minimumValue该财产 Spring
      • getPreferredValue

        public abstract int getPreferredValue()
        返回此 Spring首选值。
        结果
        preferredValueSpring
      • getMaximumValue

        public abstract int getMaximumValue()
        返回此 Spring最大值
        结果
        maximumValue该财产 Spring
      • getValue

        public abstract int getValue()
        返回此 Spring的当前
        结果
        value该财产 Spring
        另请参见:
        setValue(int)
      • setValue

        public abstract void setValue​(int value)
        将此 Spring的当前 设置为 value
        参数
        value - value属性的新设置
        另请参见:
        getValue()
      • constant

        public static Spring constant​(int pref)
        返回一个strut - 一个spring,其 minimumpreferredmaximum值各自的值为 pref
        参数
        pref - 新弹簧的 最小值首选值和 最大值
        结果
        弹簧的 最小值首选值和 最大值各自具有值 pref
        另请参见:
        Spring
      • constant

        public static Spring constant​(int min,
                                      int pref,
                                      int max)
        返回弹簧,其 最小优选的 ,并且 最大值具有以下值: minpref ,和 max分别。
        参数
        min - 新春天的 最小值
        pref - 新弹簧的 首选
        max - 新弹簧的 最大值
        结果
        一个弹簧,其 最小优选的 ,并且 最大值具有以下值: minpref ,和 max分别
        另请参见:
        Spring
      • minus

        public static Spring minus​(Spring s)
        返回 -s :弹簧以与 s相反的方向运行。
        参数
        s - Spring对象
        结果
        -s :弹簧在与 s相反的方向上 s
        另请参见:
        Spring
      • sum

        public static Spring sum​(Spring s1,
                                 Spring s2)
        返回s1+s2 :春天代表s1s2系列。 在一个总和, s3 ,两个弹簧,的s1s2 ,的菌株 s1s2 ,和s3被保持在相同的水平(由它们的整数 s隐含的精度内)。 压缩弹簧的应变是:
          value - pref
                 ------------
                  pref - min 
        而张力弹簧的应变是:
          value - pref
                 ------------
                  max - pref 
        setValue上调用的总和弹簧, s3 ,在应变s3被使用上面的公式之一来计算。 一旦知道了总和的应变,则设定s1s2 s,使得它们具有等于总和的应变。 对公式进行评估,以便将舍入误差考虑在内,并确保s1s2 s的s1恰好等于s3
        参数
        s1 - Spring对象
        s2 - 一个 Spring对象
        结果
        s1+s2 :春天代表 s1s2系列
        另请参见:
        Spring
      • max

        public static Spring max​(Spring s1,
                                 Spring s2)
        返回 max(s1, s2) :一个spring,其值始终大于(或等于) s1s2的值。
        参数
        s1 - 一个 Spring对象
        s2 - Spring对象
        结果
        max(s1, s2) :一个弹簧,其值始终大于(或等于) s1s2的值
        另请参见:
        Spring
      • scale

        public static Spring scale​(Spring s,
                                   float factor)
        返回一个spring,其minimumpreferredmaximumvalue属性是参数spring s的属性的s factor为负时(根据区间运算规则),交换最小和最大属性。

        例如,当因子为0.5f时,结果表示其输入的“中点” - 这对于集中容器中的组件非常有用。

        参数
        s - 规模之泉
        factor - 按比例 factor金额。
        结果
        弹簧的属性是输入弹簧 s乘以 factor弹簧
        异常
        NullPointerException - 如果 s为空
        从以下版本开始:
        1.5
      • width

        public static Spring width​(Component c)
        返回一个spring,其minimumpreferredmaximumvalue属性由所提供组件的minimumSizepreferredSizemaximumSizesize属性的宽度定义。 返回的spring是一个“包装器”实现,其方法调用所提供组件的相应大小方法。 因此,返回弹簧的最小值,首选值,最大值和值属性会报告组件中相应属性的当前状态,并在它们更改时跟踪它们。
        参数
        c - 用于计算大小的组件
        结果
        一个弹簧,其属性由组件尺寸方法的水平分量定义。
        异常
        NullPointerException - 如果 c为空
        从以下版本开始:
        1.5
      • height

        public static Spring height​(Component c)
        返回一个spring,其minimumpreferredmaximumvalue属性由所提供组件的minimumSizepreferredSizemaximumSizesize属性的高度定义。 返回的spring是一个“包装器”实现,其方法调用所提供组件的相应大小方法。 因此,返回弹簧的最小值,首选值,最大值和值属性会报告组件中相应属性的当前状态,并在它们更改时跟踪它们。
        参数
        c - 用于计算大小的组件
        结果
        一个弹簧,其属性由组件尺寸方法的垂直分量定义。
        异常
        NullPointerException - 如果 c为空
        从以下版本开始:
        1.5