import javax.swing.*;
import java.awt.*;
class  FrameTest extends JFrame 
{
public FrameTest()
{
super("学生信息编辑管理器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setSize(600,400);
}
}
class PanelTest extends FrameTest
{
JPanel mainpanel,subpanel1,subpanel2,subpanel3,
subpanel4,subpanel5,subpanel6,subpanel7;//声明JFrame类对象
   


public PanelTest()  //创建构造函数
{
mainpanel=new JPanel();
subpanel1=new JPanel();   //创建JPane类对象
subpanel2=new JPanel();
subpanel3=new JPanel();
subpanel4=new JPanel();
subpanel5=new JPanel();
subpanel6=new JPanel();
subpanel7=new JPanel();
  
//panelObj.setBackground(Color.white);   //设置面板颜色
//getContentPane().add(panelObj);       //将面板添加到窗体
}
}
class customerTest extends PanelTest
{
JLabel labelname,labelgrade,labelclass,labelsex,labelage,headlabel,labelObj7;  
JTextField textFieldObj1,textFieldObj2,textFieldObj3;  
JRadioButton rButObj1,rButObj2;
JButton buttonObj;
JCheckBox checkBoxObj;
JList listObj;
JScrollPane ScrollPaneObj;
JComboBox comboBoxObj;
JTable tableObj;
GridBagLayout gblayoutObj1,gblayoutObj2,gblayoutObj3,gblayoutObj4,
gblayoutObj5,gblayoutObj6,gblayoutObj7,gblayoutObj;
GridBagConstraints gbcObj1,gbcObj2,gbcObj3,
                          gbcObj4,gbcObj5,gbcObj6,gbcObj7,gbcObj ;
JButton buttonObj1,buttonObj2;
 
public void customerTest()
{
headlabel=new JLabel( "***************学员信息编辑器***************");
mainpanel.add(headlabel);
checkBoxObj =new JCheckBox("是否注册",null,true);
mainpanel.add(checkBoxObj);        gblayoutObj1=new GridBagLayout(); 
    gbcObj1=new GridBagConstraints();
subpanel1.setLayout(gblayoutObj1);
labelname=new JLabel("姓名:");
gbcObj1.anchor=GridBagConstraints.EAST;
gblayoutObj1.setConstraints(labelname,gbcObj1);
textFieldObj1=new JTextField(15);
textFieldObj1.setEnabled(false);
gbcObj1.anchor=GridBagConstraints.WEST;
gblayoutObj1.setConstraints(textFieldObj1,gbcObj1);
subpanel1.add(labelname);
subpanel1.add(textFieldObj1);
mainpanel.add(subpanel1);

gblayoutObj2=new GridBagLayout(); 
         gbcObj2=new GridBagConstraints();
         subpanel2.setLayout(gblayoutObj2);
labelage=new JLabel("年龄:");
gbcObj2.anchor=GridBagConstraints.EAST;
gblayoutObj2.setConstraints(labelage,gbcObj2);
textFieldObj2=new JTextField(3);
textFieldObj2.setEnabled(false);
gbcObj2.anchor=GridBagConstraints.WEST;
gblayoutObj2.setConstraints(textFieldObj2,gbcObj2);
subpanel2.add(labelage);
subpanel2.add(textFieldObj2);
mainpanel.add(subpanel2);

        
gblayoutObj3=new GridBagLayout(); 
         gbcObj3=new GridBagConstraints();
         subpanel3.setLayout(gblayoutObj3);
labelsex=new JLabel("性别:");
gbcObj3.anchor=GridBagConstraints.WEST;
                  gbcObj3.gridx=0;
                  gbcObj3.gridy=0;
gblayoutObj3.setConstraints(labelsex,gbcObj3);
rButObj1=new  JRadioButton("男",false);
rButObj1.setEnabled(false);
gbcObj3.anchor=GridBagConstraints.EAST;
                  gbcObj3.gridx=1;
                  gbcObj3.gridy=0;
gblayoutObj3.setConstraints(rButObj1,gbcObj3);
rButObj2=new  JRadioButton("女",true);
rButObj1.setEnabled(false);
gbcObj3.anchor=GridBagConstraints.WEST;
                  gbcObj3.gridx=1;
                  gbcObj3.gridy=1;
gblayoutObj3.setConstraints(rButObj2,gbcObj3);
ButtonGroup buttonGroupObj =new ButtonGroup();
buttonGroupObj.add(rButObj1);
buttonGroupObj.add(rButObj2);
subpanel3.add(labelsex);
subpanel3.add(rButObj1);
subpanel3.add(rButObj2);
mainpanel.add(subpanel3);
 



gblayoutObj4=new GridBagLayout(); 
         gbcObj4=new GridBagConstraints();
         subpanel4.setLayout(gblayoutObj4);
labelgrade=new JLabel("年级:");
gbcObj4.anchor=GridBagConstraints.EAST;
                  gbcObj4.gridheight=1;
gblayoutObj4.setConstraints(labelgrade,gbcObj4);
String listStr[]={"一年级","二年级",
"三年级","四年级","五年级"};
listObj=new JList(listStr);
listObj.setFixedCellWidth(100); 
listObj.setVisibleRowCount(4); 
//panelObj.add(listObj);
ScrollPaneObj=new JScrollPane(listObj ,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,                                        
    JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS ); 
gbcObj4.anchor=GridBagConstraints.WEST;
gbcObj4.weightx=1.0;
gbcObj4.weightx=0.0;
gbcObj4.gridheight=4;
gblayoutObj3.setConstraints(ScrollPaneObj,gbcObj4);
subpanel4.add(labelgrade);
subpanel4.add(ScrollPaneObj);
mainpanel.add(subpanel4);




gblayoutObj5=new GridBagLayout(); 
         gbcObj5=new GridBagConstraints();
subpanel5.setLayout(gblayoutObj5);
labelclass=new JLabel("系别:");
gbcObj4.anchor=GridBagConstraints.EAST;
gblayoutObj4.setConstraints(labelclass,gbcObj5);
String ComBoxTestObjStr[]={"计算机系","物理系","电子信息工程",
           "化学系","中文系","生物系"};
                  comboBoxObj=new JComboBox(ComBoxTestObjStr);
comboBoxObj.setBackground(Color.white);
comboBoxObj.setEnabled(false);
                  gbcObj5.anchor=GridBagConstraints.WEST;
gblayoutObj4.setConstraints(comboBoxObj,gbcObj5);
subpanel5.add(labelclass);
subpanel5.add(comboBoxObj);
mainpanel.add(subpanel5);

BorderLayout borLayout=new BorderLayout();
subpanel6.setLayout(borLayout);
labelObj7=new JLabel("显示已注册的学生的所以信息:");
String[][] data=
{
{"张三","20","男","一年级","计算机系"},
{"a2","b2","c2","d2","e2"},
{"a3","b3","c3","d3","e3"},
{"a4","b4","c4","d4","e4"},
{"a5","b5","c5","d5","e5"},
{"李四","19","男","一年级","化学系"},
};
String[] names={"姓名","年龄","性别","年级","系别"};
tableObj=new JTable(data,names);
tableObj.setEnabled(false);
tableObj.setPreferredScrollableViewportSize(new Dimension(240,60));// 设置表格的大小
                  ScrollPaneObj=new JScrollPane(tableObj);
subpanel6.add("North",labelObj7);
subpanel6.add("Center",ScrollPaneObj);
mainpanel.add(subpanel6);
FlowLayout fLayout;
fLayout=new FlowLayout(FlowLayout.RIGHT,10,15);
subpanel6.setLayout(fLayout);
                  buttonObj1=new JButton("注册(Z)");
buttonObj1.setEnabled(false);
buttonObj2=new JButton("保存(S)");
buttonObj2.setEnabled(false);
         subpanel6.add(buttonObj1);
subpanel6.add(buttonObj2);
mainpanel.add(subpanel6);

gblayoutObj =new GridBagLayout(); 
         gbcObj =new GridBagConstraints();    
                  mainpanel.setLayout(gblayoutObj);
gbcObj.gridwidth=GridBagConstraints.REMAINDER;
gbcObj.anchor=GridBagConstraints.NORTHWEST;
gblayoutObj .setConstraints(headlabel,gbcObj);
gbcObj.gridwidth=1;
gblayoutObj .setConstraints(checkBoxObj,gbcObj);
gblayoutObj .setConstraints(subpanel1,gbcObj);
gbcObj.gridwidth=GridBagConstraints.REMAINDER;
gblayoutObj .setConstraints(subpanel2,gbcObj);
gbcObj.gridwidth=1;
                  gblayoutObj .setConstraints(subpanel3,gbcObj);
gblayoutObj .setConstraints(subpanel4,gbcObj);
gbcObj.gridwidth=GridBagConstraints.REMAINDER;
gblayoutObj .setConstraints(subpanel5,gbcObj);
gbcObj.gridwidth=GridBagConstraints.REMAINDER;
gblayoutObj .setConstraints(subpanel6,gbcObj);
gbcObj.anchor=GridBagConstraints.NORTHWEST;
gbcObj.gridwidth=GridBagConstraints.REMAINDER;
gblayoutObj .setConstraints(subpanel7,gbcObj);
getContentPane().add(mainpanel);
}
 
}public class j17_6customer 
{
public static void main(String[] args) 
{
new customerTest();
}

帮我看看啊
编译通过但是显示出来的窗口是空的
到底是怎么回事啊
实在不明白啊!!!!

解决方案 »

  1.   

    是不需要加一句mainpanel.setVisible(True);呀
      

  2.   

    import javax.swing.*;
    import java.awt.*;
    class  FrameTest extends JFrame 
    {
    public FrameTest()
    {

    super("学生信息编辑管理器");

    //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //setVisible(true);
    //setSize(600,400);
    }
    }
    class PanelTest extends FrameTest
    {
    JPanel mainpanel,subpanel1,subpanel2,subpanel3,
    subpanel4,subpanel5,subpanel6,subpanel7;//声明JFrame类对象
       


    public PanelTest()  //创建构造函数
    {

    mainpanel=new JPanel();
    subpanel1=new JPanel();   //创建JPane类对象
    subpanel2=new JPanel();
    subpanel3=new JPanel();
    subpanel4=new JPanel();
    subpanel5=new JPanel();
    subpanel6=new JPanel();
    subpanel7=new JPanel();
      
    //panelObj.setBackground(Color.white);   //设置面板颜色
    //getContentPane().add(panelObj);       //将面板添加到窗体
    }
    }
    class customerTest extends PanelTest
    {
    JLabel labelname,labelgrade,labelclass,labelsex,labelage,headlabel,labelObj7;  
    JTextField textFieldObj1,textFieldObj2,textFieldObj3;  
    JRadioButton rButObj1,rButObj2;
    JButton buttonObj;
    JCheckBox checkBoxObj;
    JList listObj;
    JScrollPane ScrollPaneObj;
    JComboBox comboBoxObj;
    JTable tableObj;
    GridBagLayout gblayoutObj1,gblayoutObj2,gblayoutObj3,gblayoutObj4,
    gblayoutObj5,gblayoutObj6,gblayoutObj7,gblayoutObj;
    GridBagConstraints gbcObj1,gbcObj2,gbcObj3,
                              gbcObj4,gbcObj5,gbcObj6,gbcObj7,gbcObj ;
    JButton buttonObj1,buttonObj2;
     
    public  customerTest()
    {


    headlabel=new JLabel( "***************学员信息编辑器***************");
    mainpanel.add(headlabel);
    checkBoxObj =new JCheckBox("是否注册",null,true);
    mainpanel.add(checkBoxObj);        gblayoutObj1=new GridBagLayout(); 
        gbcObj1=new GridBagConstraints();
    subpanel1.setLayout(gblayoutObj1);
    labelname=new JLabel("姓名:");
    gbcObj1.anchor=GridBagConstraints.EAST;
    gblayoutObj1.setConstraints(labelname,gbcObj1);
    textFieldObj1=new JTextField(15);
    textFieldObj1.setEnabled(false);
    gbcObj1.anchor=GridBagConstraints.WEST;
    gblayoutObj1.setConstraints(textFieldObj1,gbcObj1);
    subpanel1.add(labelname);
    subpanel1.add(textFieldObj1);
    mainpanel.add(subpanel1);

    gblayoutObj2=new GridBagLayout(); 
             gbcObj2=new GridBagConstraints();
             subpanel2.setLayout(gblayoutObj2);
    labelage=new JLabel("年龄:");
    gbcObj2.anchor=GridBagConstraints.EAST;
    gblayoutObj2.setConstraints(labelage,gbcObj2);
    textFieldObj2=new JTextField(3);
    textFieldObj2.setEnabled(false);
    gbcObj2.anchor=GridBagConstraints.WEST;
    gblayoutObj2.setConstraints(textFieldObj2,gbcObj2);
    subpanel2.add(labelage);
    subpanel2.add(textFieldObj2);
    mainpanel.add(subpanel2);

            
    gblayoutObj3=new GridBagLayout(); 
             gbcObj3=new GridBagConstraints();
             subpanel3.setLayout(gblayoutObj3);
    labelsex=new JLabel("性别:");
    gbcObj3.anchor=GridBagConstraints.WEST;
                      gbcObj3.gridx=0;
                      gbcObj3.gridy=0;
    gblayoutObj3.setConstraints(labelsex,gbcObj3);
    rButObj1=new  JRadioButton("男",false);
    rButObj1.setEnabled(false);
    gbcObj3.anchor=GridBagConstraints.EAST;
                      gbcObj3.gridx=1;
                      gbcObj3.gridy=0;
    gblayoutObj3.setConstraints(rButObj1,gbcObj3);
    rButObj2=new  JRadioButton("女",true);
    rButObj1.setEnabled(false);
    gbcObj3.anchor=GridBagConstraints.WEST;
                      gbcObj3.gridx=1;
                      gbcObj3.gridy=1;
    gblayoutObj3.setConstraints(rButObj2,gbcObj3);
    ButtonGroup buttonGroupObj =new ButtonGroup();
    buttonGroupObj.add(rButObj1);
    buttonGroupObj.add(rButObj2);
    subpanel3.add(labelsex);
    subpanel3.add(rButObj1);
    subpanel3.add(rButObj2);
    mainpanel.add(subpanel3);
     



    gblayoutObj4=new GridBagLayout(); 
             gbcObj4=new GridBagConstraints();
             subpanel4.setLayout(gblayoutObj4);
    labelgrade=new JLabel("年级:");
    gbcObj4.anchor=GridBagConstraints.EAST;
                      gbcObj4.gridheight=1;
    gblayoutObj4.setConstraints(labelgrade,gbcObj4);
    String listStr[]={"一年级","二年级",
    "三年级","四年级","五年级"};
    listObj=new JList(listStr);
    listObj.setFixedCellWidth(100); 
    listObj.setVisibleRowCount(4); 
    //panelObj.add(listObj);
    ScrollPaneObj=new JScrollPane(listObj ,
    JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,                                        
        JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS ); 
    gbcObj4.anchor=GridBagConstraints.WEST;
    gbcObj4.weightx=1.0;
    gbcObj4.weightx=0.0;
    gbcObj4.gridheight=4;
    gblayoutObj3.setConstraints(ScrollPaneObj,gbcObj4);
    subpanel4.add(labelgrade);
    subpanel4.add(ScrollPaneObj);
    mainpanel.add(subpanel4);




    gblayoutObj5=new GridBagLayout(); 
             gbcObj5=new GridBagConstraints();
    subpanel5.setLayout(gblayoutObj5);
    labelclass=new JLabel("系别:");
    gbcObj4.anchor=GridBagConstraints.EAST;
    gblayoutObj4.setConstraints(labelclass,gbcObj5);
    String ComBoxTestObjStr[]={"计算机系","物理系","电子信息工程",
               "化学系","中文系","生物系"};
                      comboBoxObj=new JComboBox(ComBoxTestObjStr);
    comboBoxObj.setBackground(Color.white);
    comboBoxObj.setEnabled(false);
                      gbcObj5.anchor=GridBagConstraints.WEST;
    gblayoutObj4.setConstraints(comboBoxObj,gbcObj5);
    subpanel5.add(labelclass);
    subpanel5.add(comboBoxObj);
    mainpanel.add(subpanel5);

    BorderLayout borLayout=new BorderLayout();
    subpanel6.setLayout(borLayout);
    labelObj7=new JLabel("显示已注册的学生的所以信息:");
    String[][] data=
    {
    {"张三","20","男","一年级","计算机系"},
    {"a2","b2","c2","d2","e2"},
    {"a3","b3","c3","d3","e3"},
    {"a4","b4","c4","d4","e4"},
    {"a5","b5","c5","d5","e5"},
    {"李四","19","男","一年级","化学系"},
    };
    String[] names={"姓名","年龄","性别","年级","系别"};
    tableObj=new JTable(data,names);
    tableObj.setEnabled(false);
    tableObj.setPreferredScrollableViewportSize(new Dimension(240,60));// 设置表格的大小
                      ScrollPaneObj=new JScrollPane(tableObj);
    subpanel6.add("North",labelObj7);
    subpanel6.add("Center",ScrollPaneObj);
    mainpanel.add(subpanel6);
    FlowLayout fLayout;
    fLayout=new FlowLayout(FlowLayout.RIGHT,10,15);
    subpanel6.setLayout(fLayout);
                      buttonObj1=new JButton("注册(Z)");
    buttonObj1.setEnabled(false);
    buttonObj2=new JButton("保存(S)");
    buttonObj2.setEnabled(false);
             subpanel6.add(buttonObj1);
    subpanel6.add(buttonObj2);
    mainpanel.add(subpanel6);

    gblayoutObj =new GridBagLayout(); 
             gbcObj =new GridBagConstraints();    
                      mainpanel.setLayout(gblayoutObj);
    gbcObj.gridwidth=GridBagConstraints.REMAINDER;
    gbcObj.anchor=GridBagConstraints.NORTHWEST;
    gblayoutObj .setConstraints(headlabel,gbcObj);
    gbcObj.gridwidth=1;
    gblayoutObj .setConstraints(checkBoxObj,gbcObj);
    gblayoutObj .setConstraints(subpanel1,gbcObj);
    gbcObj.gridwidth=GridBagConstraints.REMAINDER;
    gblayoutObj .setConstraints(subpanel2,gbcObj);
    gbcObj.gridwidth=1;
                      gblayoutObj .setConstraints(subpanel3,gbcObj);
    gblayoutObj .setConstraints(subpanel4,gbcObj);
    gbcObj.gridwidth=GridBagConstraints.REMAINDER;
    gblayoutObj .setConstraints(subpanel5,gbcObj);
    gbcObj.gridwidth=GridBagConstraints.REMAINDER;
    gblayoutObj .setConstraints(subpanel6,gbcObj);
    gbcObj.anchor=GridBagConstraints.NORTHWEST;
    gbcObj.gridwidth=GridBagConstraints.REMAINDER;
    gblayoutObj .setConstraints(subpanel7,gbcObj);
    getContentPane().add(mainpanel);
    }
     
    }public class j17_6customer 
    {
    public static void main(String[] args) 
    {
    JFrame frame = new customerTest();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    }

      

  3.   

    我运行过了,可以看到窗口中的内容。
    改了三个地方:
    1。
    class  FrameTest extends JFrame 
    {
    public FrameTest()
    {

    super("学生信息编辑管理器");
                           

                       //注释掉下面 
    //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //setVisible(true);
    //setSize(600,400);
    }
    }2。去掉void
    public  customerTest()3。
    public class j17_6customer 
    {
    public static void main(String[] args) 
    {
    JFrame frame = new customerTest();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    }

      

  4.   

    public void customerTest()问题就出在这一行上面,这是一个构造函数!
    去掉里面的void,变成public customerTest()就可以了。另外注意命名规则,类名的首字母大写,而方法名的首字母不大写的。