How to use GridBagConstraints to layout two components in the same line with Java


To align two components in the same line, you need to set the contrainsts of the GridBagConstraints properly. Let’s say we have two components in panel1. Set the contraints using Insets as well −

panel1.add(checkBox1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
   GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
panel1.add(checkBox2, new GridBagConstraints(1, 0, 1, 1, 2.0, 0.0,
   GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));

The following is an example to set two components in the same line −

Example

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(550, 300);
      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, 0.0, 0.0,
         GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0,0, 0, 0), 0, 0));
      panel1.add(checkBox2, new GridBagConstraints(1, 0, 1, 1, 2.0, 0.0,
         GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0,0, 0, 0), 0, 0));
      frame.add(panel1);
      frame.setVisible(true);
   }
}

Output


Updated on: 30-Jul-2019

219 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements