JTable动态刷新数据

    技术2022-07-17  77

    防止下次忘记,自己做备份

    //初始的表格 Vector headVector = new Vector<>(); headVector.add("选择"); headVector.add("年龄"); headVector.add("工作"); headVector.add("生日"); Vector dataVector = new Vector(); Vector rowVector = new Vector(); rowVector.add(""); rowVector.add(""); rowVector.add(""); rowVector.add(""); dataVector.add(rowVector); DefaultTableModel dtm = new DefaultTableModel(dataVector,headVector); //对Table不让修改设置 table=new JTable(dtm){ public boolean isCellEditable(int row, int column) { return false; } }; //scrollPane 滚动条 scrollPane = new JScrollPane(table); //位置 scrollPane.setBounds(0, 103, 740, 512); //初始化容器 getContentPane().add(scrollPane);

    下面开始对数据刷新

    // 添加表头元素 Vector headVector = new Vector<>(); headVector.add("选择"); headVector.add("姓名"); headVector.add("年龄"); headVector.add("工作"); // 添加数据元素 Vector dataVector = new Vector(); //listMap从数据库获取的数据 for (int i = 0; i < listMap.size(); i++) { Vector rowVector = new Vector(); //这里放的是复选框 rowVector.add(""); rowVector.add(listMap.get(i).get("A")); rowVector.add(listMap.get(i).get("B")); rowVector.add(listMap.get(i).get("C")); dataVector.add(rowVector); } /* 定义复选框 */ JCheckBox box = new JCheckBox(); DefaultTableModel dtm2=(DefaultTableModel)table.getModel();//获取表格模型 dtm2.setDataVector(dataVector,headVector);//设置新内容 table.updateUI();//更新显示 //或者 dtm2.fireTableStructureChanged();//更新显示

    参考方法:

    DefaultTableModel dtm=new DefaultTableModel(data,head);//定义表格模型 jt.setModel(dtm);或jt=new JTable(dtm);//根据表格模型创建表格 DefaultTableModel dtm2=(DefaultTableModel)jt.getModel();//获取表格模型 dtm2.setDataVector(data2,head2);//设置新内容 dtm2.fireTableStructureChanged();或jt.updateUI();//更新显示
    Processed: 0.015, SQL: 9