DbModel.java
package com.qysoft.system.jtable;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.beans.*;
import java.sql.*;
public class DbModel extends javax.swing.table.AbstractTableModel{
private Connection conn=null;
private java.sql.Statement stmt=null;
private ResultSet rs=null;
public DbModel(String sql) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=test";
String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置
String PASSWORD = "000000"; // 根据你自己设置的数据库连接密码进行设置
conn = DriverManager.getConnection(URL, USER, PASSWORD);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
} catch (ClassNotFoundException ex) {
}
}
public int getRowCount() {
try {
rs.last();
return rs.getRow();
} catch (SQLException ex) {
return 0;
}
}
public int getColumnCount() {
try {
return rs.getMetaData().getColumnCount();
} catch (SQLException ex) {
return 0;
}
}
public String getColumnName(int c)
{
try {
return rs.getMetaData().getColumnName(c);
} catch (SQLException ex) {
return null;
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
try {
rs.absolute(rowIndex + 1);
return rs.getObject(columnIndex + 1);
} catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
}
MyFrame.java
package com.qysoft.system.jtable;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.*;
import java.beans.*;
import java.awt.BorderLayout;
import java.awt.Rectangle;
public class MyFrame extends JFrame{
public MyFrame() {
this.setTitle("測試窗口");
this.setSize(300,500);
this.setLocation(200,200);
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
MyFrame frame=new MyFrame();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void jbInit() throws Exception {
jTable1=new JTable(new DbModel("select * from usertable"));
this.getContentPane().setLayout(null);
this.getContentPane().add(jPanel1, null);
jButton2.setBounds(new Rectangle(223, 82, 90, 27));
jButton2.setText("刪除");
jButton1.setBounds(new Rectangle(221, 35, 91, 26));
jButton1.setText("添加");
this.getContentPane().add(jTable1);
this.getContentPane().add(jButton1);
this.getContentPane().add(jButton2);
jTable1.setBounds(new Rectangle(16, 17, 156, 226));
jPanel1.setBounds(new Rectangle(0, 0, 10, 300));
}
JPanel jPanel1 = new JPanel();
JTable jTable1 =null;
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
}