Java SpringLayout

17 Mar 2025 | 4 分钟阅读

一个 SpringLayout 根据一组约束来排列其相关容器的子元素。 约束只是两个组件边缘之间的水平和垂直距离。 每个约束都由一个 SpringLayout.Constraint 对象表示。

SpringLayout 容器的每个子元素,以及容器本身,都恰好有一组与其关联的约束。

每个边缘位置都取决于其他边缘的位置。 如果添加一个约束来创建一个新的边缘,则先前的绑定将被丢弃。 SpringLayout 不会自动设置它管理的组件的位置。

构造函数

SpringLayout(): 该类的默认构造函数用于实例化 SpringLayout 类。

嵌套类

修饰符和类型Class描述
静态类SpringLayout.Constraints它是一个约束对象,有助于控制组件在由 SpringLayout 控制的容器中的大小和位置变化

SpringLayout 字段

修饰符和类型字段描述
static StringBASELINE它指定组件的基线。
static StringEAST它指定组件边界矩形的右边缘。
static StringHEIGHT它指定组件边界矩形的高度。
static StringHORIZONTAL_CENTER它指定组件边界矩形的水平中心。
static StringNORTH它指定组件边界矩形的上边缘。
static StringSOUTH它指定组件边界矩形的下边缘。
static StringVERTICAL_CENTER它指定组件边界矩形的垂直中心。
static StringWEST它指定组件边界矩形的左边缘。
static StringWIDTH它指定组件边界矩形的宽度。

SpringLayout 方法

修饰符和类型方法描述
voidaddLayoutComponent(Component component, Object constraints)如果约束是 SpringLayout.Constraints 的实例,则将约束与指定的组件关联。
voidaddLayoutComponent(String name, Component c)无效果,因为此布局管理器不使用每个组件字符串。
SpringgetConstraint(String edgeName, Component c)它返回控制组件指定边缘与其父级的顶部或左边缘之间距离的 spring。
SpringLayout.ConstraintsgetConstraints(Component c)它返回指定组件的约束。
floatgetLayoutAlignmentX(Container p)它返回 0.5f (居中)。
floatgetLayoutAlignmentY(Container p)它返回 0.5f (居中)。
voidinvalidateLayout(Container p)它使布局无效,表明如果布局管理器有缓存信息,则应将其丢弃。
voidlayoutContainer(Container parent)它布置指定的容器。
维度maximumLayoutSize(Container parent)它用于计算指定容器的最大尺寸,给定它包含的组件。
维度minimumLayoutSize(Container parent)它用于计算指定容器的最小尺寸,给定它包含的组件。
维度preferredLayoutSize(Container parent)它用于计算指定容器的首选尺寸,给定它包含的组件。

示例:1

文件名: MySpringDemo.java

输出

Java Springlayout 1

示例:2

以下程序在 JFrame 中排列组件。 我们创建了一个名为 "MySpringDemo1 class" 的类,并且还创建了 4 个名为 "btn1″、"btn2"、"btn3"、"btn4"、"btn5" 的 JButton 组件,然后使用方法 add() 将它们添加到 JFrame。 使用方法 setvisible(),我们设置了框架的可见性。 setLayout() 方法设置布局。

文件名: MySpringDemo1.java

输出

Java Springlayout