当 table 在 java 中加载时,如何将复选框设置为 table 列

How do I set a check box to table column when table is loading in java

我创建了一个 table(我使用的是 NetBeans IDE)。当 table 正在加载时,我将一些数据放入此 table 中。我想在带有 loading 的行的第一列中添加一个复选框。我还把这个 table 放在 JPanel 上,我使用 formComponentShown(java.awt.event.ComponentEvent evt) 方法加载 table 数据。

JTable 使用 TableModel 检索列 class 和数据。

常用的

DefaultTableModel,returns 'Object.class'表示所有列。如果您使用 DefaultTableModel,只需覆盖 getColumnClass 方法,并为您的列 return 右 class。默认renderer will display a check box for values of type Boolean.class, for example.

public class MyDefaultTableModel extends DefaultTableModel {
    private Class[] columnClasses;
    public Class[] getColumnClasses() {
        return columnClasses;
    }
    public void setColumnClasses(Class[] columnClasses) {
        this.columnClasses = columnClasses;
    }
    @Override
    public Class getColumnClass(int columnIndex) {
        return columnClasses[columnIndex];
    }
}