如何使用 Java 中的 GridBagLayout 将组件定位到网格单元的顶部?
java 8object oriented programmingprogramming更新于 2025/8/23 5:00:17
要将组件定位到网格单元的顶部,请设置 GridBagConstraints。假设我们有一个面板,其中包含两个 CheckBox 组件 −
JPanel panel1 = new JPanel(new GridBagLayout());
JCheckBox checkBox1 = new JCheckBox("Undergraduate";);
JCheckBox checkBox2 = new JCheckBox("Graduate";);
现在定位组件 −
panel1.add(checkBox1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, GridBagConstraints.NORTH, new Insets(0, 0, 0, 0), 0, 0)); panel1.add(checkBox2, new GridBagConstraints(1, 0, 1, 1, 2.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.NORTH, new Insets(0, 0, 0, 0), 0, 0));
以下是使用 GridBagLayout 将组件定位到网格单元顶部的示例 −
示例
package my; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; public class SwingDemo { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); frame.setSize(500, 500); JPanel panel1 = new JPanel(new GridBagLayout()); JCheckBox checkBox1 = new JCheckBox("Undergraduate"); JCheckBox checkBox2 = new JCheckBox("Graduate"); panel1.add(checkBox1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, GridBagConstraints.NORTH, new Insets(0, 0, 0, 0), 0, 0)); panel1.add(checkBox2, new GridBagConstraints(1, 0, 1, 1, 2.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.NORTH, new Insets(0, 0, 0, 0), 0, 0)); frame.add(panel1); frame.setVisible(true); } }
输出


