import java.awt.*;
import java.util.*;
import java.applet.Applet;

public class Chapter7
	extends Applet
{

     protected void makebutton(
		String name,
		GridBagLayout gridbag,
		GridBagConstraints c)
     {
         Button button = new Button(name);
         gridbag.setConstraints(button, c);
         add(button);
     }

     public void init()
     {
         GridBagLayout gridbag = new GridBagLayout();
         GridBagConstraints c = new GridBagConstraints();

         setFont(new Font("Helvetica", Font.PLAIN, 14));
         setLayout(gridbag);

         c.fill = GridBagConstraints.BOTH;
         c.weightx = 1.0;
         makebutton("Button1", gridbag, c);
         makebutton("Button2", gridbag, c);
         makebutton("Button3", gridbag, c);

     	   c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button4", gridbag, c);

         c.weightx = 0.0;		   //reset to the default
         makebutton("Button5", gridbag, c); //another row

 	   c.gridwidth = GridBagConstraints.RELATIVE; //next-to-last in row
         makebutton("Button6", gridbag, c);

 	   c.gridwidth = GridBagConstraints.REMAINDER; //end row
         makebutton("Button7", gridbag, c);

 	   c.gridwidth = 1;	   	   //reset to the default
 	   c.gridheight = 2;
         c.weighty = 1.0;
         makebutton("Button8", gridbag, c);

         c.weighty = 0.0;		   //reset to the default
 	   c.gridwidth = GridBagConstraints.REMAINDER; //end row
 	   c.gridheight = 1;		   //reset to the default
         makebutton("Button9", gridbag, c);
         makebutton("Button10", gridbag, c);

         setSize(300, 100);
     }

     // This is how you can convert an Applet into an application.
     public static void main(String args[]) {
 	   Frame f = new Frame("GridBag Layout Example");
 	   Chapter7 ex1 = new Chapter7();
 	   ex1.init();
 	   f.add("Center", ex1);
 	   f.pack();
 	   f.setSize(f.getPreferredSize());
 	   f.show();
	   ex1.start();
     }

 }
 
