import java.awt.*; import javax.swing.*; public class GBLTest { public GBLTest () { JFrame frame = new JFrame("GBL Test"); frame.setSize(300,300); Container content = frame.getContentPane(); content.setLayout(new GridBagLayout()); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridheight = 2; gbc.gridwidth = 1; gbc.fill=GridBagConstraints.VERTICAL; setupButton("#1", gbc, content); gbc.gridheight = 1; gbc.gridwidth = 2; gbc.gridx = 1; gbc.gridy = 0; gbc.fill=GridBagConstraints.HORIZONTAL; setupButton("#2", gbc, content); gbc.gridwidth = 1; gbc.gridx = 1; gbc.gridy = 1; setupButton("#3", gbc, content); gbc.gridx = 2; setupButton("#4", gbc, content); frame.setVisible(true); } private void setupButton(String label, GridBagConstraints c, Container container) { JButton b = new JButton(label); ((GridBagLayout) container.getLayout()).setConstraints(b, c); container.add(b); } public static void main(String[] args) { new GBLTest(); } }