// This example is from the book _Java AWT Reference_ by John Zukowski. // Written by John Zukowski. Copyright (c) 1997 O'Reilly & Associates. // You may study, use, modify, and distribute this example for any purpose. // This example is provided WITHOUT WARRANTY either expressed or import java.awt.*; public class gridbag extends java.applet.Applet { public static void addComponent (Container container, Component component, int gridx, int gridy, int gridwidth, int gridheight, int fill, int anchor) throws AWTException { LayoutManager lm = container.getLayout(); if (!(lm instanceof GridBagLayout)) { throw new AWTException ("Invalid layout" + lm); } else { GridBagConstraints gbc = new GridBagConstraints (); gbc.gridx = gridx; gbc.gridy = gridy; gbc.gridwidth = gridwidth; gbc.gridheight = gridheight; gbc.fill = fill; gbc.anchor = anchor; ((GridBagLayout)lm).setConstraints(component, gbc); container.add (component); } } public void init() { Button b; GridBagLayout gb = new GridBagLayout(); GridBagConstraints gbc = new GridBagConstraints(); setLayout(gb); try { /* Row One - Three button */ b = new Button ("One"); addComponent (this, b, 0, 0, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); b = new Button ("Two"); addComponent (this, b, 1, 0, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); b = new Button ("Three"); addComponent (this, b, 2, 0, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); /* Row Two - Two buttons */ b = new Button ("Four"); addComponent (this, b, 0, 1, 2, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); b = new Button ("Five"); addComponent (this, b, 2, 1, 1, 2, GridBagConstraints.BOTH, GridBagConstraints.CENTER); /* Row Three - Two buttons */ b = new Button ("Six"); addComponent (this, b, 0, 2, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); b = new Button ("Seven"); addComponent (this, b, 1, 2, 1, 1, GridBagConstraints.BOTH, GridBagConstraints.CENTER); } catch (Exception e) { e.printStackTrace(); } } }