1

我有MyTableModel类范围AbstractTableModel,如何在 MyTableModel 类本身中添加列名称并设置列标题文本,这样我就不必在每次使用模型时都设置主题?

4

2 回答 2

1

请参考以下示例并以正确的方式实现您的代码。

public class MyTableModel extends AbstractTableModel {

    private static final String[] COLUMN_NAMES = {"Student", "Subject", "Marks"};
    private static final Class[] COLUMN_CLASSES = {String.class, String.class, Integer.class};
    private static final Object[][] TABLE_DATA = {
        {"Channa", "Programming", 99},
        {"John", "English", 85},
        {"Samantha", "Scence", 60},
        {"Kumar", "Maths", 90}
    };

    //the column header
    @Override
    public String getColumnName(int column) {
        return COLUMN_NAMES[column];
    }

    //if you want to change the columns class 
    @Override
    public Class<?> getColumnClass(int columnIndex) {
        return COLUMN_CLASSES[columnIndex];
    }

    @Override
    public int getRowCount() {
        return TABLE_DATA.length;
    }

    @Override
    public int getColumnCount() {
        return COLUMN_NAMES.length;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        return TABLE_DATA[rowIndex][columnIndex];
    }
}

这是我的测试截图

在此处输入图像描述

于 2015-09-26T06:16:29.723 回答
1

我需要使用 AbstractTableModel 来帮助使用我的实体 ArrayList 创建我的表模型

查看行表模型。它提供了一个完整的示例,说明如何对 Person 对象执行此操作。

它还展示了如何创建通用实体模型,这样您就不必为每个新实体实现 TableModel 的所有方法。

于 2015-09-26T04:53:06.820 回答