JTable講解[JTable_test1.java]
import javax.swing.*;
import java.util.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
public class JTable_Test1 extends JFrame{
//定義元件
//rowData用來存放行資料、columnNames存放列名
Vector rowData,columnNames;
JTable jt=null;
JScrollPane jsp=null;
public static void main(String[] args) {
JTable_Test1 sms=new JTable_Test1();
}
//構造函數
public JTable_Test1(){
columnNames=new Vector<>();
//設定列名
columnNames.add("學号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年齡");
columnNames.add("籍貫");
columnNames.add("系别");
rowData=new Vector<>();
//rowData可以存放多行
Vector hang=new Vector<>();
hang.add("sp001");
hang.add("孫悟空");
hang.add("男");
hang.add("500");
hang.add("花果山");
hang.add("少林派");
//加入rowData
rowData.add(hang);
//初始化JTable
jt=new JTable(rowData,columnNames);
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp放入到jframe
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
-------------------------------------------------------------------------------
JTable與資料庫的使用[JTable_test2.java]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTable_Test2 extends JFrame{
//定義元件
//rowData用來存放行資料、columnNames存放列名
Vector rowData,columnNames;
JTable jt=null;
JScrollPane jsp=null;
//定義操作資料庫需要的元件
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public static void main(String[] args) {
new JTable_Test2();
}
public JTable_Test2(){
columnNames=new Vector<>();
//設定列名
columnNames.add("學号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年齡");
columnNames.add("籍貫");
columnNames.add("系别");
rowData=new Vector<>();
//rowData可以存放多行
try {
//1、加載驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2、得到連接配接
ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=stussystem;user=sa;password=sa;");
if(!ct.isClosed()){
System.out.println("資料庫連接配接成功");
}else{
System.out.println("資料庫連接配接失敗");
}
ps=ct.prepareStatement("select * from stu");
rs=ps.executeQuery();
while(rs.next()){
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
//加入rowData
rowData.add(hang);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(ct!=null){
ct.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//初始化JTable
jt=new JTable(rowData,columnNames);
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp放入到jframe
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}