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);
^^^^^^^^^^^^^
2、多余
3、 setLayout(new GridLayout(0,1)); //任意行1列
setLayout(new GridLayout(1,1)); //1行1列仅添加一个选项JTabbedPane上述两式效果相同,建议使用
setLayout(new BorderLayout());
add(tabbedPane,BorderLayout.CENTER);
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);
}
}