Лабораторная работа: Сериализация объектов
publicintgetColumnCount(); – возвращает количество столбцов.
publicobjectgetValueAt(introw, intcolumn); – возвращает содержимое ячейки в ряду row и столбце column.
Как видно из прототипа метода, в ячейке таблицы может находиться любой объект, в частности, строка или картинка. Для помещения числа в ячейку, необходимо использовать соответствующий числовой объект:
returnnewInteger(100);
Для задания названий столбцам таблицы необходимо переопределить метод:
public int getColumnName (int c);
Параметр с указывает на номер столбца. Внутри должна быть конструкция switch-case (или if-else), возвращающая на каждый номер с названием колонки.
public String getColumnName (int c) {
if (c == 0)
return «Ф.И.О.»;
else if (c == 1)
return «Должность»;
else if (c==2)
return «Зарплата»;
else if (c == 3)
return «Год»;
else if (c == 4)
return «Месяц»;
else if (c == 5)
return «День»;
else
returnnull;
}
Также в абстрактной модели таблицы можно непосредственно хранить данные в том или ином виде и предусмотреть методы для их модификации. После модификации данных нужно сообщить JTable о том, что структура таблицы / количество строк изменились, для этого используются такие методы класса AbstractTableModel, как fireRowsInserted и пр.
Далее создаётся экземпляр класса JTable, в конструкторе которого указываются объект модели таблицы:
JTable empTable = new JTable(myTableModel);
Модель таблицы может быть указана и позже с помощью метода setModel.
И, наконец, для создания полос прокрутки на элементе воспользуемся стандартным методом – поместим таблицу на панель типа JScrollPane:
JScrollPane pane= new JScrollPane(empTable);