如何在java中将布尔对象类型设置为表列

如何在java中将布尔对象类型设置为表列,java,swing,jtable,tablemodel,Java,Swing,Jtable,Tablemodel,我有一个JTable,它有DefaultTableModel。现在我想更改表列标题和列数据类型(例如:-布尔、字符串、对象等)。我试着做如下事情 DefaultTableModel model = (DefaultTableModel) list_table.getModel(); list_table.setModel(new javax.swing.table.DefaultTableModel(new Object[][]{}, new St

我有一个
JTable
,它有
DefaultTableModel
。现在我想更改表列标题和列数据类型(例如:-布尔、字符串、对象等)。我试着做如下事情

DefaultTableModel model = (DefaultTableModel) list_table.getModel();                        
list_table.setModel(new javax.swing.table.DefaultTableModel(new Object[][]{}, new String[]{"", "ID", "Name", "Age","Address", "Contact", "Gender", "Civil Status" }));
updateTable(); 
“”列对象类型应为布尔值。但我无法从此更改对象类型为布尔值。我还在线程化环境中运行此操作


你有什么想法吗

您需要覆盖
getColumnClass
,例如,如果列5(0索引)是布尔值,则可以执行以下操作:

@Override
public Class<?> getColumnClass(int columnIndex) {
    Class classType = String.class;
    switch (columnIndex) {
        case 4:
            classType = Boolean.class;
            break;
    }
    return classType;
}
@覆盖
公共类getColumnClass(int columnIndex){
Class classType=String.Class;
开关(列索引){
案例4:
classType=Boolean.class;
打破
}
返回类类型;
}

您需要覆盖
getColumnClass
,例如,如果列5(0索引)是布尔值,则可以执行以下操作:

@Override
public Class<?> getColumnClass(int columnIndex) {
    Class classType = String.class;
    switch (columnIndex) {
        case 4:
            classType = Boolean.class;
            break;
    }
    return classType;
}
@覆盖
公共类getColumnClass(int columnIndex){
Class classType=String.Class;
开关(列索引){
案例4:
classType=Boolean.class;
打破
}
返回类类型;
}

好的,但我有个问题好的,但我有个问题