Java JTable Model makeDefaultTableModel(String[] titleA, final Class[] typesA, final boolean[] canEditA)

Here you can find the source of makeDefaultTableModel(String[] titleA, final Class[] typesA, final boolean[] canEditA)

Description

Make DefaultTableModel by overriding getColumnClass and isCellEditable of DefaultTableModel.

License

Open Source License

Parameter

Parameter Description
titleA The title of each column.
typesA The type of each column value.
canEditA Is column editable?

Declaration

public static DefaultTableModel makeDefaultTableModel(String[] titleA, final Class<?>[] typesA,
        final boolean[] canEditA) 

Method Source Code

//package com.java2s;
/*/*from   w w  w  .j a  v  a  2 s. com*/
 * Hello Minecraft!.
 * Copyright (C) 2013  huangyuhui <huanghongxun2008@126.com>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see {http://www.gnu.org/licenses/}.
 */

import javax.swing.table.DefaultTableModel;

public class Main {
    /**
     * Make DefaultTableModel by overriding getColumnClass and isCellEditable of
     * DefaultTableModel.
     *
     * @param titleA The title of each column.
     * @param typesA The type of each column value.
     * @param canEditA Is column editable?
     *
     * @return
     */
    public static DefaultTableModel makeDefaultTableModel(String[] titleA, final Class<?>[] typesA,
            final boolean[] canEditA) {
        return new DefaultTableModel(new Object[][] {}, titleA) {
            Class<?>[] types = typesA;
            boolean[] canEdit = canEditA;

            @Override
            public Class<?> getColumnClass(int columnIndex) {
                return types[columnIndex];
            }

            @Override
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit[columnIndex];
            }
        };
    }
}

Related

  1. getDefaultTableModel()
  2. getSelectedModelIndex(JTable table)
  3. getTableContent(TableModel table)
  4. insertTableModelListener( TableModel model, TableModelListener l, int index)
  5. insertTableModelListener(TableModel model, TableModelListener l, int index)
  6. modelIndexToDisplayIndex(JTable table, int modelIndex)
  7. saveTModelToCSV(String fileName, JTable table)
  8. setDataVector(DefaultTableModel model, Vector dataVector)
  9. tableModelToArray(JTable table)