JAVA JTable addRow 有问题,大家来看看

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:24:27
下面这段代码,是每一个表格重都添加数据,其中Tool.con是连接数据库的,返回一个ResultSet类型变量,然后一次读取其中的数据,最后把它加到对应的JTable中,现在的问题是,我可以将ResultSet中的东西读取出来,可以输出到屏幕,但是在想表格中添加的时候,每次都是只显示最后一次查询添加的结果,比如说,最后一次找到“111”“222”“333”,他会显示好多行“111”“222”“333”,我很郁闷,请大家帮忙,主要代码在下边。

for(int i=0;i<3;i++)
{
win[i]=new JTable();
show[i]=new JScrollPane(win[i]);
mod[i]=new DefaultTableModel();
win[i].setModel(mod[i]);
tit[i]=new Vector();
res[i]=new Vector();
}

for(int i=0;i<stu.length;i++){
tit[0].add(stu[i]);
mod[0].setColumnCount(stu.length);}
System.out.println(tit[0]);

for(int i=0;i<tea.length;i++){
tit[1].add(tea[i]);
mod[1].setColumnCount(tea.length);}
System.out.println(tit[1]);

for(int i=0;i<cou.length;i++){
tit[2].add(cou[i]);
mod[2].setColumnCount(cou.length);}
System.out.println(tit[2]);

//Vector<String> s=new Vector();
//Ve

继承AbstractTableModel自己写一个model,你只要在model的数据里添加一行数据,然后发个消息就行了。你现在的问题是重复添加了,查询一次往里加一次,到后面越来越多,你model的构造函数参数是ResultSet,这样出错了也好调式,你这样乱七八糟的不封装好数据,调试都不好调试的。做表格尽量使用AbstractTableModel写自己的model,不要使用DefaultTableModel,这个model是一个固定的模式,用起来很不方便。

你把代码全发出来哦