Java,在使用 rs2xml 填充 jTable 时将 jTable 中的布尔列更改为复选框

Java, changing boolean column to checkbox in jTable when using rs2xml for populating jTable

我正在使用一个 jTable,它使用 rs2xml

填充了 mysql 数据库数据
table.setModel(DbUtils.resultSetToTableModel(rs));

我有一些由布尔值显示的列,但这些列必须成为复选框。我知道我必须编写自己的 AbstractTableModel,但我不知道如何...

你们中的哪位能举例说明如何扩展 AbstractTableModel 并在代码中使用它吗?

I have some columns that are displayed by boolean values, but these must become checkboxes.

然后你可以覆盖JTable的getColumnClass(...)方法:

JTable table = new JTable(...)
{
    @Override
    public Class getColumnClass(int column)
    {
        for (int row = 0; row < getRowCount(); row++)
        {
            Object o = getValueAt(row, column);

            if (o != null)
            {
                return o.getClass();
            }
        }

        return Object.class;
    }
};

或者按照建议您可以创建自己的 TableModel。这并不难,您真正需要做的就是实现 getColumnClass(...) 方法,但是您需要编写自己的代码来将数据加载到 TableModel 中。

请参阅找到的 TableFromDatabase.java 示例代码 Table From Database 替换 DbUtils 的示例代码 class。