Give this a go...
// Calculator
//
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame
{
private JButton button[];
private final String names[] =
{ "7", "8", "9", "/", "4", "5", "6", "*", "1",
"2", "3", "-", "0", ".", "=", "+"};
private JTextField field;
private GridLayout grid;
private BorderLayout boarder;
private JPanel p1;
public Calculator(String title)
{
//super(title);
boarder = new BorderLayout(5,1);
Container container1 = getContentPane();
container1.setLayout( boarder );
field = new JTextField("",25);
container1.add(field, BorderLayout.NORTH);
grid = new GridLayout(4,4,5,5);
p1 = new JPanel();
p1.setLayout( grid );
container1.add(p1, BorderLayout.CENTER);
button = new JButton[names.length];
for(int count=0; count < names.length; count++)
{
button[count] = new JButton(names[count]);
p1.add(button[count]);
}
setSize(300,400);
setVisible( true );
}
public static void main( String args[] )
{
Calculator application = new Calculator("Calculator");
application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
Easier not to make two containers. Just make one for the main window and fill that with panels instead.