定义了一个带有表头的JTable,怎样才能将从数据库中查询到的信息按对应表头的信息在表格中显示?String[] columnNames = { "学号", "姓名","性别","班级","专业",
"课程1","课程1得分","课程2","课程2得分",
"课程3","课程3得分","课程4","课程4得分" };
String[][] tableValues = {};
JTable table = new JTable(new DefaultTableModel(tableValues, columnNames));
JScrollPane scrollPane = new JScrollPane(table);以上是定义的JTable, 数据表就是按照这些表头建立的, 怎样才能在查询的时候让他们都对应显示在表格中,比如在“学号”中显示数据库中存的学号的信息

解决方案 »

  1.   

    通过DefaultTableModel(Vector data, Vector columnNames)来实例化TabelModel1.如果数据库中表内容的对应列的顺序与columnsNames相同,直接通过下标索引 1 - colCount遍历取出对应的值2.如果顺序不相同,但是表的字段名与columnsNames相同,直接通过ResultSet.getObject(String label)获取值for(String name: columnNames){//遍历所有字段名,获取值,然后放入Vector中,这就是一行数据
        vector.add(rs.getObject(name));
    }
    data.add(vector);
    3.如果顺序不相同,并且表的字段名与columnsNames也不相同,这时可以通过一个Map进行映射,将字段名映射到相应的列名。例如,map.put("学号","no");   map.put("姓名","name");for(String name: columnNames){//遍历所有字段名,获取值,然后放入Vector中,这就是一行数据
        vector.add(rs.getObject(map.get(name)));
    }
    data.add(vector);
      

  2.   


    现在问题已经转向http://topic.csdn.net/u/20110602/07/512ec0bf-efae-4ee2-83b3-94dee73a973d.html,如果能帮忙解答 就太感谢了