JTable 和 AbstractTableModel 几个关键点
2015-06-25 00:42
337 查看
1 重写的方法
2 JTable 中有更新数据模型的方法 setModel(新模型实例)
以下代码供参考
@Override public int getColumnCount() { // TODO Auto-generated method stub return this.columnNames.size(); } @Override public String getColumnName(int column) { // TODO Auto-generated method stub return (String) this.columnNames.get(column); } @Override public int getRowCount() { // TODO Auto-generated method stub return this.rowData.size(); } @Override public Object getValueAt(int rowIndex, int columnIndex) { // TODO Auto-generated method stub return ((Vector)this.rowData.get(rowIndex)).get(columnIndex); }
2 JTable 中有更新数据模型的方法 setModel(新模型实例)
StuModel sm = new StuModel("select * from stu where name like '%"+s+"%'"); jt.setModel(sm);
以下代码供参考
package stuMS;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.*;
public class NewMs extends JFrame implements ActionListener{
/**
* @param args
*/
JPanel jp1,jp2;
JLabel jl1;
JButton jb1,jb2,jb3,jb4;
JTable jt;
JScrollPane jsp;
JTextField jtf;
public static void main(String[] args) {
// TODO Auto-generated method stub
NewMs nm = new NewMs();
}
public NewMs(){
jp1 = new JPanel();
jtf = new JTextField(10);
jb1= new JButton("查询");
jb1.addActionListener(this);
jl1 = new JLabel("输入名字");
jp1.add(jl1);
jp1.add(jtf);
jp1.add(jb1);
jp2 = new JPanel();
jb2 = new JButton("tianjia");
jb3 = new JButton("xiugai");
jb4 = new JButton("shanchu");
jp2.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
StuModel sm = new StuModel("select * from stu");
jt = new JTable(sm);
jsp = new JScrollPane(jt);
this.add(jp1,BorderLayout.NORTH);
this.add(jp2,BorderLayout.SOUTH);
this.add(jsp,BorderLayout.CENTER);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb1){
System.out.println("i want query");
}
String s = jtf.getText().trim();
StuModel sm = new StuModel("select * from stu where name like '%"+s+"%'"); jt.setModel(sm);
}
}
package stuMS;
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.*;
import javax.swing.table.AbstractTableModel;
public class StuModel extends AbstractTableModel{
Vector rowData, columnNames;
PreparedStatement ps = null;
Connection ct = null;
ResultSet rs = null;
public StuModel(String sql){
columnNames = new Vector<String>();
columnNames.add("ID");
columnNames.add("name");
columnNames.add("sex");
columnNames.add("bornin");
columnNames.add("major");
rowData = new Vector<Vector<String>>();
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://hzz:1433;databaseName=Heros","sa","13871955777");
ps = ct.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
Vector hang = new Vector<String>();
hang.add(rs.getInt(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getString(4));
hang.add(rs.getString(5));
rowData.add(hang);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(rs!=null)rs.close();
if(ps!=null) ps.close();
if(ct!=null) ct.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// public StuModel(){
// String s = "select * from stu";
// StuModel(s);
//
// }
@Override public int getColumnCount() { // TODO Auto-generated method stub return this.columnNames.size(); } @Override public String getColumnName(int column) { // TODO Auto-generated method stub return (String) this.columnNames.get(column); } @Override public int getRowCount() { // TODO Auto-generated method stub return this.rowData.size(); } @Override public Object getValueAt(int rowIndex, int columnIndex) { // TODO Auto-generated method stub return ((Vector)this.rowData.get(rowIndex)).get(columnIndex); }
}
相关文章推荐
- LVS-Linux服务器集群系统 (四)
- UITableView快速入门
- UI基础-九宫格计算-模型|封装
- 宽字节编码类型的XSS
- 20150625
- LVS-Linux服务器集群系统 (三)
- 二级指针的作用详解
- 在服务器上同时启动多个tomcat
- Cinder meeting 2015-06-24
- JQ插件
- Effective Java:创建和销毁对象
- Effective Java:创建和销毁对象
- 《C++ Templates》(基础部分)笔记整理
- java.io.FileNotFoundException: open failed: EMFILE (Too many open files)
- 深入网站服务端技术(一)——网站并发的问题
- 九宫格的算法
- Android开发之拍照功能实现
- PHP获取今天、昨天、明天的日期
- 手机页面输入框获取焦点
- 手机页面输入框获取焦点