A TableModel
- это адаптер . Я всегда пишу табличную модель для расширений AbstractTableModel
и использую ее как закрытый внутренний класс моего класса панели GUI. Вам нужно заполнить только несколько методов: getRowCount
, getColumnCount
и getValueAt
Ваш класс графического интерфейса должен иметь доступ к некоторому контроллеру , откуда он может заполнить эту информацию. Когда ваш контроллер узнает об обновлениях данных, он должен сообщить вашему классу графического интерфейса, который затем может вызвать AbstractTableModel.fireTableDataChanged
или другие подходящие методы.
Никогда не используйте класс DefaultTableModel
, потому что тогда вам необходимо синхронизировать данные модели таблицы с данными контроллера. Как я уже сказал, табличная модель представляет собой адаптер, который представляет данные контроллера таким образом, что JTable
может понять