Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > swing.JTable. Динамическое изменение |
Автор: Mayk 6.8.2005, 19:47 |
Играюсь тут с Явой(психологический дискомфорт после Сей жутчайший), возникло пару вопросов по таблицам: Как можно добавить/убрать строчку в таблице? Как можно сделать подписи к строчкам в таблицах(по типу номера строки в екселях и компании)? Для этого обязательно надо переделывать TableModel, или можно проще? |
Автор: Domestic Cat 6.8.2005, 19:55 |
Ну я б делал так: сделал в классе, наследующем от DefaultTableModel метод добавления ряда (addRow), который бы 1. добавлял ряд в коллекцию где хрянятся все остальные ряды 2. вызывал метод fireTableRowsInserted. Если же по рабоче-крестьянски, то есть не меняя модели и тп то нужно у тейбла взять его модель, откастить в DefaultTableModel и вызвать insertRow(int row, Object[] rowData). |
Автор: batigoal 6.8.2005, 19:57 |
Для подписей, видимо, придется заводить отдельный столбец (первый). Для работы с данными, действительно, придется работать с моделью. А вообще, все о работе с таблицами есть тут: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html |
Автор: Domestic Cat 6.8.2005, 20:01 |
Для номеров строки - да, отводится первый столбец, и делаешь в рендерере (TableRenderer) специальную отрисовку этого столбца (заливка цветом, и тп). |
Автор: Mayk 8.8.2005, 11:26 |
Ага. Понятно. Всем спасибо ![]() |
Автор: Zverek 11.8.2005, 09:48 | ||
Вот если бы его ещё можно было сделать неподвижным (во время скролинга), без всяких извращений (типа сделать две таблицы - у одной будет прокрутка, у другой нет) - было бы вообще здорово. |
Автор: DarkDS 15.8.2005, 12:09 | ||
Это только переписыванием таблицы... ![]() Стандартных среств вроде нету. |