import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class addClassTest
{
     public static void main(String [] args)
     {
  addClassFrame  frame=new addClassFrame();
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.show();
     }
}class addClassFrame extends JFrame
{
     public addClassFrame()     {
    setTitle("addClass");
//setSize(300,600);
JFrame.setDefaultLookAndFeelDecorated(true);
        Container contentPane=getContentPane();
        addClassPanel pa=new addClassPanel();
        contentPane.add(pa);
        pack();
     } }class addClassPanel extends JPanel
{
     public addClassPanel()
     {
   JPanel panel;
           JButton button1=new JButton("first button");
           JButton button2=new JButton("second button");
           JButton button3=new JButton("third button");
           JButton button4=new JButton("fourth button");
           JButton button5=new JButton("fifth button");
           
           panel = new JPanel();
     panel.setLayout(new GridLayout(1,2));
panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
           
           panel.add(button1);
           panel.add(button2);
           panel.add(button3);
           panel.add(button4);
           panel.add(button5);
 
     }
 }

解决方案 »

  1.   

    //这个程序看了有不爽的地方,类名都是小写的!!!
    //你这程序没调过,初始状态根本显示不出东西来,我改了改
    //原来程序思路比较乱,尤其是那个panel看得一头雾水。
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class addClassTest
    {
         public static void main(String [] args)
         {
      addClassFrame  frame=new addClassFrame();
     //setVisible 放到构造里,main里不要放细节   
            }
    }class addClassFrame extends JFrame
    {
         public addClassFrame()
         {
        super("xxx");//你 super了没有?
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("addClass");
    setSize(300,600);
    JFrame.setDefaultLookAndFeelDecorated(true);
         Container contentPane=getContentPane();
         addClassPanel pa=new addClassPanel();
         contentPane.add(pa);
         pack();
         setVisible(true);
         } }class addClassPanel extends JPanel
    {
         public addClassPanel()
         {
           //JPanel panel;临时变量?昏啊,构造结束就没得了?你这样怎么可能在屏幕上有东西显示?
               JButton button1=new JButton("first button");
               JButton button2=new JButton("second button");
               JButton button3=new JButton("third button");
               JButton button4=new JButton("fourth button");
               JButton button5=new JButton("fifth button");
                //   panel = new JPanel();//越发不明白,不给自己设定layout?又建立一个临时的?昏特
         // panel.
           setLayout(new GridLayout(3,2));//
       //你原来只设定了(1,2)你强制规定一行,一行放两个,
       //你加第三个的时候,系统看见你规定一行,就在一行里放下去了,不换行。
    setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
               
              add(button1);
              add(button2);
              add(button3);
              add(button4);
              add(button5);
     
         } }
      

  2.   

    不是setLayout(new GridLayout(1,2))不管用...  ...panel.add(button3);
    panel.add(button4);
    panel.add(button5);
     
    //添加
    add(panel);
      

  3.   

    同意clydysea(爱花钱的穷人) 的
    另外super("xxx");//你 super了没有?
    他用的是一个无参的构造函数 可以不用super
      

  4.   

    呵呵~我知道有无参构造,不过写了super概念比较清楚,个人比较喜欢。