当使用 Swing GridBag 布局时,Visual Editor 将对组件设置缺省约束。可以使用“属性”视图或“定制布局”对话框来更改这些约束。
为了在 GridBagLayout 上更好地显示组件,将根据组件类型设置约束(如填充、锚、权重 x 和权重 y)。例如,当放下 javax.swing.JTextField 时,填充将被设置为 HORIZONTAL(JTextField 的缺省值是 NONE),权重 x 值将被设置为 1(JTextField 的缺省值为 0)。否则,JTextField 几乎不可视。
在下面的示例中,放下 JScrollBar 时填充值设置为 VERTICAL,而权重 y 值设置为 1。
为新组件生成的约束使用 GridBagConstraints 的空构造函数来将其实例化。
当从另一个布局管理器切换至 GridBagLayout 时,Visual Editor for Java 将根据每个组件的现有边界来为它们生成约束,而实际结果将是组件不移动它们的位置。这些组件具有 GridBagConstraints,而不是通过绝对矩形(如布局设置为空的容器)放置在那里的。
使用 GridBagConstraints 而不是空布局的优点在于每个组件都是按照其首选大小来调整大小的。因此,如果父窗口的大小更改,或者如果首选大小在运行时因语言字符串不同而更改,则布局管理器将对所有组件调整大小并再定位,从而最大限度地利用可用空间。
要在 GridBag 布局中指定组件的锚、填充和插入约束: