Java如何将数据库数据显示在表格Jtable中? 如何将数据库数据显示在表格Jtable中? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单的方法是,JTable(Object[][] rowData, Object[] columnNames) ,你构造Object[][] rowData完这个二维数组就OK啦。另外,有个AbstractTableModel抽象类,或者直接实现TableModel接口,你可以好好看下。 这是我写过的一个方法,可以动态的建立你从数据库里面拿出来的数据的jtablepublic void inithavesold(){//建立查询已销售商品表格、模型 try { Vector<String> columnName = new Vector<String>();//字段名 Vector<Vector<Object>> dataVector = new Vector<Vector<Object>>(); //存储所有数据,里面每个小的Vector是存单行的 columnName.add("编号"); columnName.add("商品名"); columnName.add("数量"); columnName.add("价格"); columnName.add("总盈利"); conn = DataBase.getconnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from havesold"); while(rs.next()){ Vector<Object> vec = new Vector<Object>();//就是这个存单行的,最后放到上面的大的Vector里面 for(int i=1;i<=5;i++){ vec.add(rs.getObject(i)); } dataVector.add(vec); } tmhavesold = new DefaultTableModel();//建立默认的JTable模型 tmhavesold.setDataVector(dataVector, columnName);//设定模型数据和字段 DataBase.free(conn, stmt, rs); } catch (SQLException e) { e.printStackTrace(); } jtable.setModel(tmhavesold); } 这是我写过的一个方法,可以动态的建立你从数据库里面拿出来的数据的jtablepublic void inithavesold(){//建立查询已销售商品表格、模型 try { Vector<String> columnName = new Vector<String>();//字段名 Vector<Vector<Object>> dataVector = new Vector<Vector<Object>>(); //存储所有数据,里面每个小的Vector是存单行的 columnName.add("编号"); columnName.add("商品名"); columnName.add("数量"); columnName.add("价格"); columnName.add("总盈利"); conn = DataBase.getconnection(); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from havesold"); while(rs.next()){ Vector<Object> vec = new Vector<Object>();//就是这个存单行的,最后放到上面的大的Vector里面 for(int i=1;i<=5;i++){ vec.add(rs.getObject(i)); } dataVector.add(vec); } tmhavesold = new DefaultTableModel();//建立默认的JTable模型 tmhavesold.setDataVector(dataVector, columnName);//设定模型数据和字段 DataBase.free(conn, stmt, rs); } catch (SQLException e) { e.printStackTrace(); } jtable.setModel(tmhavesold); } 这问题真笼统~~数据存储方式无所谓。最终是要操作TableModel。建议看文档吧,说的很清楚。 为什么在新建对象后面跟了一个方法。。。 同步问题 Swing里面,有没有什么组件能显示一段很长的文本 为什么binarySearch返回结果是不确定的?? 什么意思? 子类的构造函数用this 或者super,为什么用this不对啊 各位!帮个忙吧!我做作业时遇到的一个问题,有一个方法没有实现,我不会呀! 求JDK1.4 API文档一份 如何把JTextPane中的文本保存为各种格式 怎么判断用户是否安装JVM? 数字排列顺序 JCheckBox多条记录删除的疑问
你构造Object[][] rowData完这个二维数组就OK啦。
另外,有个AbstractTableModel抽象类,或者直接实现TableModel接口,你可以好好看下。
try {
Vector<String> columnName = new Vector<String>();//字段名
Vector<Vector<Object>> dataVector = new
Vector<Vector<Object>>(); //存储所有数据,里面每个小的Vector是存单行的
columnName.add("编号");
columnName.add("商品名");
columnName.add("数量");
columnName.add("价格");
columnName.add("总盈利");
conn = DataBase.getconnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from havesold");
while(rs.next()){
Vector<Object> vec = new Vector<Object>();//就是这个存单行的,最后放到上面的大的Vector里面
for(int i=1;i<=5;i++){
vec.add(rs.getObject(i));
}
dataVector.add(vec);
}
tmhavesold = new DefaultTableModel();//建立默认的JTable模型
tmhavesold.setDataVector(dataVector, columnName);//设定模型数据和字段
DataBase.free(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
jtable.setModel(tmhavesold);
}
try {
Vector<String> columnName = new Vector<String>();//字段名
Vector<Vector<Object>> dataVector = new
Vector<Vector<Object>>(); //存储所有数据,里面每个小的Vector是存单行的
columnName.add("编号");
columnName.add("商品名");
columnName.add("数量");
columnName.add("价格");
columnName.add("总盈利");
conn = DataBase.getconnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from havesold");
while(rs.next()){
Vector<Object> vec = new Vector<Object>();//就是这个存单行的,最后放到上面的大的Vector里面
for(int i=1;i<=5;i++){
vec.add(rs.getObject(i));
}
dataVector.add(vec);
}
tmhavesold = new DefaultTableModel();//建立默认的JTable模型
tmhavesold.setDataVector(dataVector, columnName);//设定模型数据和字段
DataBase.free(conn, stmt, rs);
} catch (SQLException e) {
e.printStackTrace();
}
jtable.setModel(tmhavesold);
}
数据存储方式无所谓。最终是要操作TableModel。
建议看文档吧,说的很清楚。