JTable表格中总是显示不出数据,大哥大姐帮帮忙啊~

w779650226 2012-10-21 09:19:08
运行后只能显示出所读出那几行的网格线,但读不出数据,看的头疼了~
部分代码如下:
table=new JTable();
DefaultTableModel model = (DefaultTableModel) this.table.getModel();
sum=model.getRowCount();
while(sum>0)
{
model.removeRow(0);
sum--;
}


//显示数据库信息
try
{
String url= "jdbc:mysql://127.0.0.1:3306/hit";
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(url,"root","04074615");
Statement statement=con.createStatement();

String query="select number,name,sex,age,birthday,college from student";
ResultSet rs=statement.executeQuery(query);
while(rs.next())
{
row[0]=rs.getString(1);
row[1]=rs.getString(2).trim();
row[2]=rs.getString(3).trim();
row[3]=rs.getString(4).trim();
row[4]=rs.getString(5).trim();
row[5]=rs.getString(6).trim();
model.addRow(row);
}
model.addColumn("学号");
model.addColumn("姓名");
model.addColumn("性别");
model.addColumn("年龄");
model.addColumn("生日");
model.addColumn("学院");
}catch{}//省略
table.setModel(model);
table.updateUI();
scrollPane1=new JScrollPane();
scrollPane1.getViewport().add(table);
jp1.setLayout(localBorderLayout1);
jp1.add(scrollPane1,"Center");
this.add(jp1);
...全文
288 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
w779650226 2012-10-31
  • 打赏
  • 举报
回复
hehe .................
w779650226 2012-10-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

你addColumn的位置放错了,jtable默认的表格模型是0行0列的,你在addColumn前addRow的话只是单纯的增加行数。

把addColumn放在DefaultTableModel后面
,另外不需要 table.setModel(model);因为DefaultTableModel的添加行列方法会自动通知Jtable更新视图的。
[/Quote]
谢谢,果然是那里出错了,问题解决了,十分感谢啊!
deisler527 2012-10-22
  • 打赏
  • 举报
回复
你addColumn的位置放错了,jtable默认的表格模型是0行0列的,你在addColumn前addRow的话只是单纯的增加行数。

把addColumn放在DefaultTableModel后面
,另外不需要 table.setModel(model);因为DefaultTableModel的添加行列方法会自动通知Jtable更新视图的。
huntor 2012-10-21
  • 打赏
  • 举报
回复
Swing Hacks 书上有个Hack就是讲这个的,你可以参考一下
wang7535067 2012-10-21
  • 打赏
  • 举报
回复
看看从数据库获取时,是不是出了问题

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧