Module  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的集合的行为减少到普通(非复合) Spring 我们在Spring上定义“+”,“ - ”, 最大最小运算符,以便在每种情况下,结果是一个Spring其特征与其组成弹簧具有有用的数学关系。

    A 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之间,我们可以根据Spring定义“ - ”和最小值

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

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

    如果您正在实现一个SpringLayout您可以在“Java教程”一节中 How to Use SpringLayout中找到更多信息和示例

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

    从以下版本开始:
    1.4
    另请参见:
    SpringLayoutSpringLayout.Constraints
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      static int UNSET
      表示属性值尚未计算的整数值。
    • 构造方法摘要

      构造方法  
      Modifier Constructor 描述
      protected Spring​()
      用工厂方法用来创建一个 Spring
    • 方法摘要

      所有方法  静态方法  接口方法  抽象方法  具体的方法 
      Modifier and Type 方法 描述
      static Spring constant​(int pref)
      返回一个strut -一个弹簧,其 最小优选的 ,并且每个 最大值具有值 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)
      返回一个弹簧,其 最小值首选 最大值属性由所提供组件的 minimumSizepreferredSizemaximumSizesize属性的高度定义。
      static Spring max​(Spring s1, Spring s2)
      返回 max(s1, s2) :一个弹簧的值始终大于(或等于) s1s2的值。
      static Spring minus​(Spring s)
      返回 -s :一个弹簧的方向与 s相反。
      static Spring scale​(Spring s, float factor)
      返回一个弹簧,其 最小值优选 最大值属性均为参数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)
      返回一个弹簧,其 最小值首选 最大值属性由所提供组件的 minimumSizepreferredSizemaximumSizesize属性的宽度定义。
    • 字段详细信息

      • UNSET

        public static final int UNSET
        表示属性值尚未计算的整数值。
        另请参见:
        Constant Field Values
    • 方法详细信息

      • getMinimumValue

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

        public abstract int getPreferredValue​()
        返回此 Spring首选值。
        结果
        preferredValue的这个 Spring
      • 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 -一个弹簧,其 最小优选的 ,并且每个 最大值具有值 pref
        参数
        pref - 新弹簧的 最小值优选值和 最大值
        结果
        最小值优选值和 最大值 pref
        另请参见:
        Spring
      • constant

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

        public static Spring minus​(Spring s)
        返回 -s :一个与 s相反方向运行的弹簧。
        参数
        s - a Spring对象
        结果
        -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正好等于的 s3
        参数
        s1 - 一个 Spring对象
        s2 - 一个 Spring对象
        结果
        s1+s2 :一个代表 s1s2的春天系列
        另请参见:
        Spring
      • max

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

        public static Spring scale​(Spring s,
                                   float factor)
        返回一个弹簧,其最小值优选 最大值属性都是参数spring属性的倍数, s factor为负时,按照间隔算术的规则,交换最小和最大属性。

        当因素例如为0.5f时,结果表示其输入的“中点” - 这对于将容器中的组件置于中心是有用的操作。

        参数
        s - 春天的规模
        factor - 按比例计算。
        结果
        弹簧的特性是输入弹簧 s乘以 factor弹簧
        异常
        NullPointerException - 如果 s为空
        从以下版本开始:
        1.5
      • width

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

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