2015-09-26 4 views
1

У меня есть MyTableModel класс степени AbstractTableModel, Как я могу добавить имя столбца и задать текст заголовка столбцов в самом классе MyTableModel, поэтому мне не нужно устанавливать тему каждый раз, когда используется модель?AbstractTableModel наследование задает текст заголовка столбца?

+0

'У меня есть MyTableModel класс степени AbstractTableModel,' - почему? Что случилось с DefaultTableModel? 'могу ли я добавить имя столбца и текст заголовка в самом классе MyTableModel,' Да. – camickr

+0

@camickr, мне нужно использовать AbstractTableModel, чтобы помочь создать мою модель таблицы с моей сущностью ArrayList, это обычный способ. Я хочу спросить, есть ли способ установить текст заголовка coumns, и, если есть, как я могу это сделать. – Andiana

ответ

1

мне нужно использовать AbstractTableModel, чтобы помочь создать свою модель таблицы с моей сущности ArrayList

Отъезд Row Table Model. Он дает полный пример того, как вы можете сделать это для объекта Person.

Он также показывает, как вы можете создать общую модель сущности, чтобы вам не пришлось реализовать весь метод TableModel для каждого нового объекта.

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

+0

'Мне нужно использовать AbstractTableModel, чтобы помочь создать мою модель таблицы с моей сущностью ArrayList,' - как это помогает с "сущностями в ArrayList? – camickr

 Смежные вопросы

  • Нет связанных вопросов^_^