Додаємо рядки в готову таблицю jtable і видаляємо їх з неї, стрілець coder

У своїй роботі програмісту нерідко доводиться стикатися з завданнями по роботі з даними в табличному вигляді.

У бібліотеці Swing для цих цілей служить клас JTable. Однак в літературі, а також інтернет джерелах, як правило, приводиться опис роботи з новою таблицею, яка створюється в коді програми з нуля. Що ж робити, якщо таблиця вже створена і в неї необхідно додати додаткові рядки або навпаки їх видалити?

Незважаючи на свою уявну наївність дане питання дуже актуальне як для роботи з базами даних так і для таблиць формуються іншими способами.

модель таблиці

Елементи управління Swing реалізують патерн MVC. JTable не виняток.

Для опису моделі таблиць служить інтерфейс TableModel. Всі класи, які представляють модель таблиці, реалізують даний інтерфейс. Зазвичай в якості моделі використовується об'єкт класу DefaultTableModel, але зустрічаються і інші класи.

Модель таблиці зберігає в собі структуру таблиці, її дані і містить всі методи для роботи з ними.

Структура і дані таблиці зберігаються в моделі у вигляді колекцій типу Vector. В даний час даний тип колекцій вважається застарілим, але так як в бібліотеці Swing він як і раніше широко використовується, його доводиться час від часу застосовувати.

Як випливає з вищесказаного, для того щоб виконати будь-які маніпуляції з даними таблиці необхідно отримати доступ до її моделі.

При створенні таблиці з нуля в коді програми це не потрібно, тому що в процесі створення таблиці явно створюється і її модель. Однак і отримати модель вже створеної таблиці не складно. Для цього служить спеціальні метод getModel, який повертає модель таблиці.

Повертається результат має тип TableModel. Тому приведення типів обов'язково.

При видаленні рядка також як і при додаванні, результати операції автоматично відображаються в таблиці.

Наведені способи додавання і видалення рядків в JTable є простою і ефективною альтернативою створенню нових моделей таблиць і заповненням їх даними з нуля і іншим громіздким операціями часто пропонованим в подібних випадках, якщо звичайно використовувана модель їх підтримує.

Навігація по публікаціям