JTable在数据库中的应用

来源:互联网 发布:迈越网络 退款 编辑:程序博客网 时间:2024/06/11 23:07
import java.awt.*;
import java.awt.event.*;

import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class Test_JTable extends JFrame implements ActionListener {

 JLabel jlabel 
= new JLabel("显示数据库中的数据");
 JTable jtable 
= new JTable();
 JScrollPane jscrollpane 
= new JScrollPane(jtable);//将表格加个滚动条
 JButton display = new JButton("显示数据列表");
 
 Test_JTable(String s)
{
  
super(s);
  
this.setLayout(new BorderLayout());
  
this.add(jlabel,BorderLayout.NORTH);
  
this.add(jscrollpane,BorderLayout.CENTER);
  
this.add(display,BorderLayout.SOUTH);
  
  display.addActionListener(
this);
  
this.setSize(250,200); //设置JFrame窗口大小
  this.setVisible(true);//设置窗口显示true
  
 }

 
 
public void actionPerformed(ActionEvent e) {
  
if(e.getSource()==display){
   String[] col 
= "学号""姓名""电话号码" };
   DefaultTableModel mm
= new DefaultTableModel(col,0); //定义一个表的模板
   
   
try {
    Class.forName(
"sun.jdbc.odbc.JdbcOdbcDriver"); //加载access数据库驱动
   }
 catch (ClassNotFoundException e1) {
    e1.printStackTrace();
   }

   
try{
   Connection conn 
= DriverManager.getConnection("jdbc:odbc:student"); //建立连接这里student为数据库名
   Statement stmt = conn.createStatement();
   ResultSet rs
=stmt.executeQuery("select * from student");//将查询得到的结果集给rs
   while(rs.next()){
      String id 
= rs.getString("id");
      String name 
= rs.getString("name");
      String tel 
= rs.getString("tel");
      String[] str_row
={id,name,tel}//将一行的数据存在str_row 字符串数组里
      mm.addRow(str_row);//添加在表模板中
   }

   jtable.setModel(mm);
//将jtable这个表 设置为刚刚定义的模板
   this.add(jscrollpane); //将加载了表的滚动条在JFrame中显示
   }
catch(SQLException e1){
   e1.getStackTrace();
   }

  }

 }

 
public static void main(String[] args) {
  
// TODO Auto-generated method stub
                new Test_JTable("测试JTable");
 }

}


 
原创粉丝点击