Vector Vheard = new Vector();

Vector Vrow = new Vector(); rs = DB.getInstance().sm.executeQuery(ls_sql);

if (rs== null) return;

ResultSetMetaData rsmd = rs.getMetaData();

if (rsmd == null) return;

int colLen = rsmd.getColumnCount();

int rowLen = rs.getRow();

if (colLen < 1) return;

for (int i=1;i<=colLen;i++){
//model.addColumn(rsmd.getColumnName(i));
Vheard.addElement(rsmd.getColumnName(i));
}

int count = 1;

while (rs.next()){
Vector v = new Vector();
for (int m=1;m<=colLen;m++){
v.addElement(rs.getObject(m));
}
Vrow.addAll(v);

setStatusText("记录数:"+String.valueOf(count));

count++;
}

//model = new DefaultTableModel(Vrow,Vheard);
try{
lchildframe.JTB_table = new JTable(Vrow,Vheard);
}catch(ClassCastException e){

e.printStackTrace();
return;

//-----------------------------------------------
JTB_table = new JTable(Vrow,Vheard)出错了,请大侠帮忙。
java.lang.ClassCastException
at javax.swing.table.DefaultTableModel.justifyRows(Unknown Source)
at javax.swing.table.DefaultTableModel.setDataVector(Unknown Source)
at javax.swing.table.DefaultTableModel.<init>(Unknown Source)
at javax.swing.JTable.<init>(Unknown Source)

解决方案 »

  1.   

    Vrow.addAll(v);
    这里错误,应该是Vrow.add(v);
    JTable的Vector rowData应该是里面的元素都是Vector()
      

  2.   

    不过table还是显示不出来数据。怎么办。
      

  3.   

    int h = lchildframe.JTB_table.getColumnCount()
    int w = lchildframe.JTB_table.getRowCount()
    调试时它们都有数据值,我在数据库里执行了这SQL,记录条数都是对的。就是显示不出来。