logo
Хабибуллин

Модель ячеек таблицы

Модель хранения содержимого ячеек таблицы описана интерфейсом TableModel, который частично реализован абстрактным классом AbstractTableModel и полностью реализован его подклассом DefaultTableModel.

Эта модель предполагает, что в ячейках таблицы могут храниться объекты любого типа и в разных ячейках даже одного столбца могут храниться объекты разных типов.

Строки и столбцы пронумерованы, начиная от нуля. Общий суперкласс всех ячеек столбца с индексом ind можно получить методом getColumnClass(int ind). Текущее число строк в таблице можно узнать методом getRowCount(), число столбцов — методом getColumnCount(). У столбца может быть имя, получить которое можно методом

getColumnName(int), возвращающим строку класса String.

Содержимое ячейки таблицы можно получить из модели данных в виде объекта класса

Object методом getValueAt(int rowInd, int colInd), а установить в модель, если ячейка редактируема, — методом setValueAt(Object data, int rowInd, int colInd).

Проверить, редактируема ячейка или нет, можно логическим методом

isCellEditable(int rowInd, int colInd).

Легко создать свою модель ячеек таблицы, расширив класс AbstractTableModel. При этом необходимо определить три метода:

int getRowCount(); int getColumnCount();

Object getValueAt(int, int);