1、 for(i=0;i<st.length;i++)
         ^^^^^^^^^^^^^
2、多余
3、 setLayout(new GridLayout(0,1));  //任意行1列
setLayout(new GridLayout(1,1));   //1行1列仅添加一个选项JTabbedPane上述两式效果相同,建议使用
setLayout(new BorderLayout());
add(tabbedPane,BorderLayout.CENTER);

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    public class ScoreSort extends JPanel
    {
    class Student
        {
    int SNumber=0,Score=0;
    }
    Student st[]=new Student[10];
    int i;                                             //设所能处理的成绩个数为10
    JTextField TNumberIn=new JTextField(8);            //输入学号框
    JTextField TScoreIn=new JTextField(8);             //成绩输入框
    JTextField TNumberQuery=new JTextField(8);            //学号查询框
    JTextField TScoreQuery=new JTextField(8) ;            //成绩查询框
      
        public ScoreSort()
        {
         //数组初始化
         int i=0;
         for(i=0;i<st.length;i++)
         {
         st[i]=new Student();
         }
        
         JTabbedPane tabbedPane=new JTabbedPane();
          
         //建立输入面板
         JPanel panel1=new JPanel();
         panel1.setLayout(new BorderLayout());
         JLabel LNumberIn=new JLabel("输入学号:");
        
         JPanel Panel11=new JPanel();
         Panel11.setLayout(new FlowLayout());
         Panel11.add(LNumberIn);
         Panel11.add(TNumberIn);
            panel1.add(Panel11,BorderLayout.NORTH);
         JLabel LScoreIn=new JLabel("请输入成绩:");
        
         JPanel Panel12=new JPanel();
         Panel12.setLayout(new FlowLayout());
         Panel12.add(LScoreIn);
         Panel12.add(TScoreIn);
         panel1.add(Panel12,BorderLayout.CENTER);
         JButton BIn=new JButton("确认");
            panel1.add(BIn,BorderLayout.SOUTH);
         BIn.addActionListener(new InActionListener());
        
         tabbedPane.addTab("成绩输入",null,panel1,null);
         tabbedPane.setSelectedIndex(0);//一开始选中"成绩输入"标签面板
         //建立查询面板
            JPanel panel2=new JPanel();
            panel2.setLayout(new BorderLayout());
            JLabel LNumberQuery=new JLabel("请输入学号:");
            
            JPanel Panel21=new JPanel();
            Panel21.setLayout(new FlowLayout());
            Panel21.add(LNumberQuery);
            Panel21.add(TNumberQuery);
            panel2.add(Panel21,BorderLayout.NORTH);
            TScoreQuery.setEditable(false);
            JLabel LScoreQuery=new JLabel("您的成绩是:");
            
            JPanel Panel22=new JPanel();
            Panel22.setLayout(new FlowLayout());
            Panel22.add(LScoreQuery);
            Panel22.add(TScoreQuery);
            panel2.add(Panel22,BorderLayout.CENTER);
            JButton BQuery=new JButton("查询");
            
            panel2.add(BQuery,BorderLayout.SOUTH);
            BQuery.addActionListener(new QueryActionListener());
            tabbedPane.addTab("成绩查询",null,panel2,null);
            
            setLayout(new BorderLayout());
            add(tabbedPane,BorderLayout.CENTER);
          }
          
          //成绩查询事件处理
          class InActionListener implements ActionListener
          {
           public void actionPerformed(ActionEvent event)
           {
           if(i<st.length)
           {
           st[i].SNumber=Integer.valueOf(TNumberIn.getText()).intValue();
               st[i].Score=Integer.valueOf(TScoreIn.getText()).intValue();
               };
               i++;
            }
          }
          //成绩查询事件处理
          class QueryActionListener implements ActionListener
          {
           public void actionPerformed(ActionEvent event)
           {
                int keyWord,i=0;
                String s=new String();
                keyWord=Integer.valueOf(TNumberQuery.getText()).intValue();
                for(i=0;i<st.length;i++)
                if(st[i].SNumber==keyWord)
                {
                 TScoreQuery.setText(s.valueOf(st[i].Score));
                   break;
                  };
                  if(i>=st.length)
                     TScoreQuery.setText("未找到您的成绩");
             }        
          }
          //主方法
          public  static void  main(String args[])
          {
            JFrame frame=new JFrame("成绩处理");
            frame.addWindowListener(new WindowAdapter()
            {
             public void windowClosing(WindowEvent e)
             {
             System.exit(0);
             }
            });
            frame.getContentPane().add(new ScoreSort());
            frame.setSize(300,160);
            frame.setVisible(true);
          }
    }