Ok. I need to use the right layout manager so when the user resizes the container, all component sizes and positions are adjusted accordingly. For example, when the user uses the mouse to enlarge the container, the components should remain at the middle and in the same arrangement . This is what I have:
import java.awt.*;
import javax.swing.*;
public class NestingOne extends JFrame {
private JPanel panel1, panel2, panel3;
private Container container;
private JButton buttons[];
private JCheckBox snapgrid, showgrid;
private GridBagLayout gbl1,gbl2, gbl3;
private GridBagConstraints c;
private JTextField field1, field2;
private JLabel label1, label2;
public NestingOne(){
super("Nesting Panels");
container = getContentPane();
gbl1 = new GridBagLayout();
c = new GridBagConstraints();
c.anchor = GridBagConstraints.WEST;
c.fill = GridBagConstraints.NONE;
Insets i = new Insets(2,6,6,2);
c.insets = i;
c.gridx = 0;
c.gridy = 0;
c.weightx = 1.0;
c.weighty = 1.0;
c.gridwidth = 1;
c.gridheight = 1;
panel1 = new JPanel();
panel1.setLayout(gbl1);
snapgrid = new JCheckBox("Snap To Grid");
gbl1.setConstraints(snapgr
id, c);
panel1.add(snapgrid);
c.gridy = 1;
showgrid = new JCheckBox("Show Grid");
gbl1.setConstraints(showgr
id, c);
panel1.add(showgrid);
container.add(panel1, BorderLayout.WEST);
//panel 2 layout and add for x and y
gbl2 = new GridBagLayout();
panel2 = new JPanel();
panel2.setLayout(gbl2);
c.gridy = 0;
c.anchor = GridBagConstraints.EAST;
label1 = new JLabel("X: ");
label2 = new JLabel("Y: ");
gbl2.setConstraints(label1
, c);
panel2.add(label1);
c.gridy = 1;
gbl2.setConstraints(label2
, c);
panel2.add(label2);
c.gridy = 0;
c.gridx = 1;
c.anchor = GridBagConstraints.WEST;
field1 = new JTextField("8",5);
gbl2.setConstraints(field1
, c);
panel2.add(field1);
c.gridy = 1;
field2 = new JTextField("8",5);
gbl2.setConstraints(field2
, c);
panel2.add(field2);
container.add(panel2, BorderLayout.CENTER);
//Panel 3 layout and add for OK, Help, Cancel
c.anchor = GridBagConstraints.CENTER;
c.gridx = 0;
c.gridy = 0;
c.fill = GridBagConstraints.BOTH;
gbl3 = new GridBagLayout();
buttons = new JButton[3];
panel3 = new JPanel();
panel3.setLayout(gbl3);
buttons[0] = new JButton("OK");
gbl3.setConstraints(button
s[0], c);
panel3.add(buttons[0]);
buttons[1] = new JButton("Cancel");
c.gridy = 1;
gbl3.setConstraints(button
s[1], c);
panel3.add(buttons[1]);
buttons[2] = new JButton("Help");
c.gridy = 2;
gbl3.setConstraints(button
s[2], c);
panel3.add(buttons[2]);
container.add(panel3, BorderLayout.EAST);
setSize(425,150);
setVisible(true);
}
public static void main(String args[])
{
NestingOne application = new NestingOne();
application.setDefaultClos
eOperation
(JFrame.EX
IT_ON_CLOS
E);
}
}
Thanks so very much.