yang_elbert 2014-10-07 14:56 采纳率: 0%
浏览 752
已采纳

jtable如何显示List<Map>中的数据???

从数据库查出来的数据放在List中,现在要显示在jtable中,不知道该如何显示了?还要考虑修改单元格中的数据后,再把List传回数据库... TableMode中该如何写?有没有做过的,提个意见... 我的数据显示后,与表头不对应了...

  • 写回答

1条回答 默认 最新

  • joelle(喬如) 2014-10-09 10:07
    关注

    这是一个JTable 动态SQL语句查询的代码片段:
    [code="java"]
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
    ResultSet rs = DBUtil.executeQuery(textField1.getText());//执行SQL语句
    // jTable1 = new JTable();
    try {
    List> ls = new ArrayList>();
    List column = new ArrayList();
    ResultSetMetaData rsm = rs.getMetaData();//获取表元数据
    for (int i = 1; i < rsm.getColumnCount()+1; i++) {
    column.add(rsm.getColumnName(i));
    }
    while (rs.next()) {
    List result = new ArrayList();
    for (int i = 1; i < rsm.getColumnCount()+1; i++) {
    result.add(rs.getObject(i));
    }
    ls.add(result);
    }

            Object[][] obj = new Object[ls.size()][column.size()];
            for (int i = 0; i < ls.size(); i++) {
                List<Object> a = ls.get(i);
                for (int j = 0; j < column.size(); j++) {
                    System.out.println(a.get(j));
                    obj[i][j] = a.get(j);
                }
            }
            jTable1.setModel(new DefaultTableModel(obj,column.toArray(new String[column.size()])));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料