用Vector和JTable来模拟DataGrid(Java图形编程 + Access数据库)
来源:互联网 发布:淘宝新品上架无线链接 编辑:程序博客网 时间:2024/06/18 14:27
package JiaNan;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.table.*;class QuerySystem extends JFrame{Vector vect=new Vector();String title[]={"num","name","birth","school"};// 继承AbstractTableModelAbstractTableModel tm=new AbstractTableModel(){public int getColumnCount(){return title.length;}public int getRowCount(){return vect.size();}public Object getValueAt(int row,int column){if(!vect.isEmpty())return ((Vector)vect.get(row)).get(column);elsereturn null;}public String getColumnName(int column){return title[column];}public void setValueAt(Object value,int row,int column){}public boolean isCellEditable(int row,int column){return false;}};JTable jt=new JTable(tm);JScrollPane jsp=new JScrollPane(jt);public QuerySystem()throws SQLException,ClassNotFoundException{Connection c=connect();Statement s=c.createStatement();String sql="select * from student";ResultSet r=s.executeQuery(sql);showResult(r);//设置table内的单行选定(JTable利用的是ListSelectionModel)jt.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //添加表格(选定行)的双击左键事件jt.addMouseListener(new MouseAdapter(){public void mouseClicked(MouseEvent e){if(e.getClickCount()==2){ //鼠标双击 //以下三句为:双击删除选定行 int row=jt.getSelectedRow();vect.removeElementAt(row);tm.fireTableStructureChanged();}}});this.getContentPane().add(jsp,BorderLayout.CENTER);}//连接数据库方法 返回类型为 Connectionpublic Connection connect()throws SQLException,ClassNotFoundException{String dburl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=da/student.mdb"; //数据库字段为:文本,文本,日期,文本String user="";String password="";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection(dburl,user,password);return c;}//以DataGrid 样式显示数据库中的查询结果public void showResult(ResultSet rs)throws SQLException{vect.removeAllElements();tm.fireTableStructureChanged();while(rs.next()){Vector rec_vector=new Vector();rec_vector.addElement(rs.getString(1));rec_vector.addElement(rs.getString(2));rec_vector.addElement(rs.getDate(3));rec_vector.addElement(rs.getString(4));vect.addElement(rec_vector);}tm.fireTableStructureChanged();}public static void main(String[]args)throws SQLException,ClassNotFoundException{QuerySystem fm=new QuerySystem();fm.setSize(600,400);fm.setTitle("");}}
- 用Vector和JTable来模拟DataGrid(Java图形编程 + Access数据库)
- Java 中以DataGrid形式显示数据库查询结果和相关JTable操作程序
- java+Access( java数据库编程)
- 用DataGrid来更新数据库
- DataGrid 链接Access数据库
- Datagrid 链接数据库Access
- DataGrid 链接Access数据库
- Datagrid 链接数据库Access
- 对java中JTable 和 .net中DataGrid的一点认识。
- Java Swing编程:JTable表格
- Java Swing编程:JTable表格
- 用allocator类管理内存,来模拟vector
- MFC+Access数据库(ADO数据库编程)
- java jtree和jtable练习
- java获取Oracle和access数据库结构
- 通过Java连接和操作Access数据库
- 用JTable显示数据库数据
- php+access数据库编程
- C++的基础
- 求10000内的素数
- RMI简单实例
- 黑马程序员 Java自学总结二 Java语言的基础组成
- 砖3 GIT学习
- 用Vector和JTable来模拟DataGrid(Java图形编程 + Access数据库)
- Android ActionBar使用介绍
- 2013.7.15 acm_schooltraining解题报告
- 【代码生成Android布局】例.用户信息界面的生成
- Java Web应用定制错误页面
- 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是“打鱼”还是“晒网”。
- Wiki OI 1063 合并果子
- Linux内存管理之mmap详解
- Javascript面向对象教程:Object与Function