java jtable 为什么表格里面没有显示内容

publicvoidsetTable(ResultSetrs)throwsSQLException{Vector<String>title=newVector<Strin... public void setTable(ResultSet rs) throws SQLException{
Vector<String> title=new Vector<String>();
title.add("姓名");
title.add("性别");
title.add("生日");
title.add("关系");
title.add("电子邮件");
title.add("所在学校");
title.add("家庭住址");
title.add("备注");

DefaultTableModel dm=new DefaultTableModel(title,50);
Vector<Vector<String>> data=new Vector<Vector<String>>();
Vector<String> d=new Vector<String>();

while(rs.next()){
d.add(rs.getString("name"));
d.add(rs.getString("sex"));
d.add(rs.getString("brithday"));
d.add(rs.getString("relatuion"));
d.add(rs.getString("email"));
d.add(rs.getString("school"));
d.add(rs.getString("adress"));
d.add(rs.getString("other"));
dm.addRow(d);
d.clear();

}
table.setModel(dm);
tabpane.setViewportView(table);

}

在线等!!!
展开
 我来答
zjx102938
推荐于2017-10-06 · TA获得超过1038个赞
知道小有建树答主
回答量:396
采纳率:100%
帮助的人:292万
展开全部
dm是model啊,怎么往model里加集合呢,应该加到data这个集合里
public void setTable(ResultSet rs) throws SQLException{
Vector<String> title=new Vector<String>();
title.add("姓名");
title.add("性别");
title.add("生日");
title.add("关系");
title.add("电子邮件");
title.add("所在学校");
title.add("家庭住址");
title.add("备注");

Vector<Vector<String>> data=new Vector<Vector<String>>();
Vector<String> d=new Vector<String>();

while(rs.next()){
d.add(rs.getString("name"));
d.add(rs.getString("sex"));
d.add(rs.getString("brithday"));
d.add(rs.getString("relatuion"));
d.add(rs.getString("email"));
d.add(rs.getString("school"));
d.add(rs.getString("adress"));
d.add(rs.getString("other"));
data.add(d);
d.clear();

}
DefaultTableModel dm=new DefaultTableModel(title,data);
table=new JTable(dm);
tabpane.setViewportView(table);

}
试试吧
更多追问追答
追问
抛异常: java.lang.String cannot be cast to java.util.Vector
追答
报错是不能把String类型转化成Vector类型数据
Vector data=new Vector();
while(rs.next()){
Vector d=new Vector();
d.add(rs.getString("name"));
d.add(rs.getString("sex"));
d.add(rs.getString("brithday"));
d.add(rs.getString("relatuion"));
d.add(rs.getString("email"));
d.add(rs.getString("school"));
d.add(rs.getString("adress"));
d.add(rs.getString("other"));
data.add(d);
}
中间改成这样如何
死马奇DK
2012-06-20 · 超过15用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:46.9万
展开全部
你的rs中有结果吗?
更多追问追答
追问
while(rs.next()){
System.err.println(rs.getString("name"));

}

如果我在里面加上这句话 是有输出的 所以rs是有结果的。
还有啊 我System.err.println(d); 也是有结果的
求帮助啊 亲。
追答
你把Vector d=new Vector();这句话放到循环中去,吧d.clear()去掉试试呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
般若兮若
2012-06-20 · TA获得超过2706个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:933万
展开全部
有没有报错?就是运行没内容么?你确定从数据库里面查出数据了么
追问
while(rs.next()){
System.err.println(rs.getString("name"));

}

如果我在里面加上这句话 是有输出的 所以rs是有结果的。
还有啊 我System.err.println(d); 也是有结果的
求帮助啊 亲。
追答
GUI我不是特别熟悉.你试试看先把d添加到data里面然后再把data添加到dm里面.d是一个String类型的Vector数组,而data是一个Vector类型的Vector数组,最后dm添加的是Object[].
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式