java中给jtable赋值

发布时间:2012-12-25 05:05:40

不能对JTable直接进行增删改,要先获取JTable的model然后修改model再将修改后的model赋给JTable

String[] data = new String[8];//用于操作表内数据行的data数组,元素个数要与table的列的数量相一致
int numT;//表格已有数据的行数
JTable jTable=new JTable();
DefaultTableModel model = (DefaultTableModel) this.jTable.getModel();
        numT = model.getRowCount();//获取当前已有行数
        while (numT > 0) {//如果是全体刷新表格需要移除之前的所有数据行
            model.removeRow(0);
            numT--;
        }
sql= "select name,number,area,price,room,acreage,fishing,mating from message";
        try{
        rs=stmt.executeQuery(sql);
        while (rs.next()) {
            data[0] = rs.getString(1).trim();
            data[1] = rs.getString(2).trim();
            data[2] = rs.getString(3).trim();
            data[3] = rs.getString(4).trim();
            data[4] = rs.getString(5).trim();
            data[5] = rs.getString(6).trim();
            data[6] = rs.getString(7).trim();
            data[7] = rs.getString(8).trim();
            model.addRow(data);
        }
        }catch(SQLException e){
            System.err.print("Error" + e.getMessage());          
        }       
        jTable.setModel(model);//将修改后的model传回给JTable

至于JButton那些触发在事件侦听里,根据
jTable.getSelectedRow();获取已选行号
jTable.getSelectedColumn();获取已选列号
改行就光获取行号就可以了,然后读取模板,删掉该行再传回给JTable即可
在JTable创建时可以选择设置是否允许多选,不多选上面的方法已经够了