Java程序设计 16 JPanel pan2=new JPanel();
String []str={\姓名\出生日期\成绩\ Object[][] data=new Object[10][3]; JTable table=new JTable(data,str);
JTableHeader head=table.getTableHeader();
JScrollPane jsp=new JScrollPane(table); //滚动 Connection con; Statement sql; ResultSet rs; ScoreQueryForm() {
super(\按成绩查询\ setSize(400,300); pan1.add(labScore); pan1.add(txtScore);
pan1.add(btnQuery); //以上3条在第一个面板加入内容 getContentPane().add(pan1,\//把面板1放到窗口顶部 pan2.setLayout(new BorderLayout());
pan2.add(head,\ //将表头放在面板2的顶部 pan2.add(jsp,\ //表格放在pan2中间
getContentPane().add(pan2,\把面板2整体加入到主窗口中 btnQuery.addActionListener(this); //增加查询按钮的监视器 setVisible(true); }
public void actionPerformed(ActionEvent ae){ if(ae.getSource()==btnQuery){ int i,j,row; try{
Class.forName(\ catch(ClassNotFoundException e){ }
try{ con=DriverManager.getConnection(\ sql=con.createStatement();
rs=sql.executeQuery(\成绩表 where 成绩=\寻找相同成绩的行数 rs.next(); //去掉头 row=rs.getInt(\ rs.close();
data=new Object[row][3];
rs=sql.executeQuery(\成绩表 where 成绩=\ i=0;j=0;
while(rs.next()){
data[i][j++]=rs.getString(\姓名\
Java程序设计 17 data[i][j++]=rs.getDate(\出生日期\
data[i][j]=new Integer(rs.getInt(\成绩\将数据库中查询到的信息保存到data中
i++;j=0; }
pan2.removeAll();
getContentPane().remove(pan2); table=new JTable(data,str);
pan2.setLayout(new BorderLayout()); head=table.getTableHeader(); jsp=new JScrollPane(table); pan2.add(head,\ pan2.add(jsp,\
getContentPane().add(pan2,\ this.validate(); con.close();
}catch(SQLException e){ } } }
public static void main(String[] args) { new ScoreQueryForm(); } }
3.6.2 运行效果:
Java程序设计 18 四、总结:
通过本次课程设计,不仅让我更深入的了解JAVA这门学科,更使自己有了继续探索的兴趣。
对我来说,在之前的学习过程中没有能够很好的掌握JAVA语言的学习,在很多地方还有生疏和遗漏,并且在此次课程设计过程中也遇到困难不能自己独立解决。但是,通过这次程序设计,除了增加了自己的编程能力,提高了我对JAVA的应用能力,同时我也深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我将继续保持严谨的学习态度。与此同时,在同学的帮助下,让我体会到了相互学习的重要性,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计让我获益匪浅。