JTable恢复修改前的默认值


思路:利用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))) ;
    }


你可能感兴趣的:(Swing)