看你想怎么加。可以向JTable里直接加数据,也可以往TableModule里面加。两者的区别应该是前者是只针对当前这个JTable实例的,而后者是对所有基于这个JTableModule的JTable都有效。JTable JTable.setValueAt(Object aValue, int row, int column);// 一个一个cell填充TableModel DefaultTableModel.setValueAt(Object aValue, int row, int column);// 一个一个cell填充 DefaultTableModel.addRow(Object[] rowData);// 一行一行填充
JTable table = new JTable(new DefaultTableModel()); ((DefaultTableModel)table.getModel()).addRow(Object[] rowData);// 一行一行填充
JTable.setValueAt(Object aValue, int row, int column);// 一个一个cell填充TableModel
DefaultTableModel.setValueAt(Object aValue, int row, int column);// 一个一个cell填充
DefaultTableModel.addRow(Object[] rowData);// 一行一行填充
((DefaultTableModel)table.getModel()).addRow(Object[] rowData);// 一行一行填充
在tableModel变化的时候,去tableModel里取当前需要的值(例如:行数、列数、各个单元格的值),放到table中去
用循环把数加入数组,然后加到model public static List employeeList;
static String[] employeeHead = new String[] {
"工号", "姓名", "职位", "备注"}; public static void resurLenEmployee(DefaultTableModel model) {
int size = employeeList.size() > 15 ? employeeList.size() : 15;
String[][] data = new String[size][4];//表示行列的二维数组
int index = 0;
for (int i = 0; i < employeeList.size(); i++) {
Employee employee = (Employee) employeeList.get(i);
data[index][0] = String.valueOf(employee.getEmpid());
data[index][1] = employee.getEmpName();
data[index][2] = employee.getJopName();
data[index][3] = employee.getRes();
index++;
}
model.setDataVector(data, employeeHead);
}