AbstractTableModel继承设置列标题文本?

时间:2015-09-26 04:13:47

标签: java swing abstracttablemodel columnheader

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

2 个答案:

答案 0 :(得分:1)

  

我需要使用AbstractTableModel来帮助用我的实体ArrayList

创建我的表模型

结帐Row Table Model。它给出了如何为Person对象执行此操作的完整示例。

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

答案 1 :(得分: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];
    }
}

这是我的测试截图

enter image description here