// This example is from _Java Examples in a Nutshell_. (http://www.oreilly.com) // Copyright (c) 1997 by David Flanagan // This example is provided WITHOUT ANY WARRANTY either expressed or implied. // You may study, use, modify, and distribute it for non-commercial purposes. // For any commercial use, see http://www.davidflanagan.com/javaexamples import java.applet.*; import java.awt.*; public class GridBagLayoutExample extends Applet { public void init() { // Create and specify a layout manager this.setLayout(new GridBagLayout()); // Create a constraints object, and specify some default values GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; // components grow in both dimensions c.insets = new Insets(5,5,5,5); // 5-pixel margins on all sides // Create and add a bunch of buttons, specifying different grid // position, and size for each. // Give the first button a resize weight of 1.0 and all others // a weight of 0.0. The first button will get all extra space. c.gridx = 0; c.gridy = 0; c.gridwidth = 4; c.gridheight=4; c.weightx = c.weighty = 1.0; this.add(new Button("Button #1"), c); c.gridx = 4; c.gridy = 0; c.gridwidth = 1; c.gridheight=1; c.weightx = c.weighty = 0.0; this.add(new Button("Button #2"), c); c.gridx = 4; c.gridy = 1; c.gridwidth = 1; c.gridheight=1; this.add(new Button("Button #3"), c); c.gridx = 4; c.gridy = 2; c.gridwidth = 1; c.gridheight=2; this.add(new Button("Button #4"), c); c.gridx = 0; c.gridy = 4; c.gridwidth = 1; c.gridheight=1; this.add(new Button("Button #5"), c); c.gridx = 2; c.gridy = 4; c.gridwidth = 1; c.gridheight=1; this.add(new Button("Button #6"), c); c.gridx = 3; c.gridy = 4; c.gridwidth = 2; c.gridheight=1; this.add(new Button("Button #7"), c); c.gridx = 1; c.gridy = 5; c.gridwidth = 1; c.gridheight=1; this.add(new Button("Button #8"), c); c.gridx = 3; c.gridy = 5; c.gridwidth = 1; c.gridheight=1; this.add(new Button("Button #9"), c); } }