思路:利用JTable不变,只改变TableModel
public JScrollPane initTableColumn() {
/**row:二维数组;columns:一维数组****/
TableModel model = new ReportTableModel(columnList2Array(listColumn),this.tablename);
tableColumn = new CommonEditTable();
tableColumn.setModel(model);
tableColumn.setCellSelectionEnabled(true);
tableColumn.getTableHeader().setReorderingAllowed(false);//不允许列重新排序
tableColumn.setRowHeight(23); // 设置表格的行高度
TableColumnModel TCM=tableColumn.getColumnModel();
/***控制输入整数satrt***/
TCM.getColumn(3).setCellEditor(new IntegerEditor());
TCM.getColumn(4).setCellEditor(new IntegerEditor());
/***控制输入整数end***/
TCM.getColumn(5).setCellEditor(new DefaultCellEditor(new JComboBox(positionJC))) ;
TCM.getColumn(6).setCellEditor(new DefaultCellEditor(new JComboBox(fontJC))) ;
TCM.getColumn(7).setCellEditor(new DefaultCellEditor( new JComboBox(fontSizeJC))) ;
TCM.getColumn(9).setCellEditor(new DefaultCellEditor(new JComboBox(patternJC))) ;
JScrollPane pane = new JScrollPane(tableColumn);
return pane;
}
public JScrollPane initTableHeadend() {
/**row:二维数组;columns:一维数组****/
TableModel model = new ReportTableModel(headendList2Array(listHeadend),this.tablename2);
tableHeadend = new CommonEditTable();
tableHeadend.setModel(model);
tableHeadend.setCellSelectionEnabled(true);
tableHeadend.getTableHeader().setReorderingAllowed(false);//不允许列重新排序
tableHeadend.setRowHeight(23); // 设置表格的行高度
TableColumnModel TCM=tableHeadend.getColumnModel();
/***控制输入整数satrt***/
TCM.getColumn(1).setCellEditor(new IntegerEditor());
TCM.getColumn(6).setCellEditor(new IntegerEditor());
TCM.getColumn(7).setCellEditor(new IntegerEditor());
/***控制输入整数end***/
TCM.getColumn(0).setCellEditor(new DefaultCellEditor(new JComboBox(tableHeadEndTypeJC))) ;
TCM.getColumn(5).setCellEditor(new DefaultCellEditor(new JComboBox(varTypeJC))) ;
TCM.getColumn(8).setCellEditor(new DefaultCellEditor(new JComboBox(positionJC))) ;
TCM.getColumn(9).setCellEditor(new DefaultCellEditor(new JComboBox(fontJC))) ;
TCM.getColumn(10).setCellEditor(new DefaultCellEditor(new JComboBox(fontSizeJC))) ;
JScrollPane pane = new JScrollPane(tableHeadend);
return pane;
}
/**
* 利用TableModel的更新,来重置JTable值
*/
public void resetTableColumn() {
/**row:二维数组;columns:一维数组****/
TableModel model = new ReportTableModel(columnList2Array(listColumn),this.tablename);
tableColumn.setModel(model);
tableColumn.setCellSelectionEnabled(true);
tableColumn.getTableHeader().setReorderingAllowed(false);//不允许列重新排序
tableColumn.setRowHeight(23); // 设置表格的行高度
TableColumnModel TCM=tableColumn.getColumnModel();
/***控制输入整数satrt***/
TCM.getColumn(3).setCellEditor(new IntegerEditor());
TCM.getColumn(4).setCellEditor(new IntegerEditor());
/***控制输入整数end***/
TCM.getColumn(5).setCellEditor(new DefaultCellEditor(new JComboBox(positionJC))) ;
TCM.getColumn(6).setCellEditor(new DefaultCellEditor(new JComboBox(fontJC))) ;
TCM.getColumn(7).setCellEditor(new DefaultCellEditor( new JComboBox(fontSizeJC))) ;
TCM.getColumn(9).setCellEditor(new DefaultCellEditor(new JComboBox(patternJC))) ;
}
/**
* 利用TableModel的更新,来重置JTable值
*/
public void resetTableHeadend() {
/**row:二维数组;columns:一维数组****/
TableModel model = new ReportTableModel(headendList2Array(listHeadend),this.tablename2);
tableHeadend.setModel(model);
tableHeadend.setCellSelectionEnabled(true);
tableHeadend.getTableHeader().setReorderingAllowed(false);//不允许列重新排序
tableHeadend.setRowHeight(23); // 设置表格的行高度
TableColumnModel TCM=tableHeadend.getColumnModel();
/***控制输入整数satrt***/
TCM.getColumn(1).setCellEditor(new IntegerEditor());
TCM.getColumn(6).setCellEditor(new IntegerEditor());
TCM.getColumn(7).setCellEditor(new IntegerEditor());
/***控制输入整数end***/
TCM.getColumn(0).setCellEditor(new DefaultCellEditor(new JComboBox(tableHeadEndTypeJC))) ;
TCM.getColumn(5).setCellEditor(new DefaultCellEditor(new JComboBox(varTypeJC))) ;
TCM.getColumn(8).setCellEditor(new DefaultCellEditor(new JComboBox(positionJC))) ;
TCM.getColumn(9).setCellEditor(new DefaultCellEditor(new JComboBox(fontJC))) ;
TCM.getColumn(10).setCellEditor(new DefaultCellEditor(new JComboBox(fontSizeJC))) ;
}