|  import java.awt.Component;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
 
 import javax.swing.JButton;
 import javax.swing.JFrame;
 import javax.swing.JPanel;
 
 public class MainClass extends JPanel {
 GridBagConstraints constraints = new GridBagConstraints();
 
 public MainClass() {
 setLayout(new GridBagLayout());
 constraints.weightx = 1.0;
 constraints.weighty = 1.0;
 constraints.fill = GridBagConstraints.BOTH;
 int x, y;
 constraints.gridheight = 2; // span two rows
 addGB(new JButton("one"), x = 0, y = 0);
 constraints.gridheight = 1; // set it back
 addGB(new JButton("two"), x = 1, y = 0);
 addGB(new JButton("three"), x = 2, y = 0);
 constraints.gridwidth = 2; // span two columns
 addGB(new JButton("four"), x = 1, y = 1);
 constraints.gridwidth = 1; // set it back
 }
 
 void addGB(Component component, int x, int y) {
 constraints.gridx = x;
 constraints.gridy = y;
 add(component, constraints);
 }
 
 public static void main(String[] args) {
 JFrame frame = new JFrame("MainClass");
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(200, 200);
 frame.setLocation(200, 200);
 frame.setContentPane(new MainClass());
 frame.setVisible(true);
 }
 }
 
 
 
 
 |