У меня есть разные объекты, которые используются для хранения данных из БД в ArrayList<T>
.Я должен показать записи каждого в таблице.Я использую AbstractTableModel
для первого объекта, над которым я работаю.Класс AbstractTableModel
имеет заголовки ArrayList<Relation>
и String[]
.
Мой вопрос: как мне создать тот же AbstractTableModel
, который можно использовать для всех объектов.Я имею в виду, что при работе с Relation у меня может быть ArrayList<Relation>
, если с Product, может быть ArrayList<Product>
..etc.Написание разных AbstrastTableModel
для каждого не очень хорошая идея для меня.Основная проблема возникает с setValueAt
, getValue
, addRow
....
@Override
public void setValueAt(Object value, int row, int col) {
Relation r = data.get(row); // ArrayList<Relation> data
switch (col) {
case 0:
r.setId(value.toString());
break;
case 1: r.setName(value.toString());
break;
case 2: r.setStartBalance((Double)value);
break;
case 3: r.setCurrentBalance((Double)value);
break;
}
}
Любая хорошая идея - работать над этим как с единой моделью, которая работает для всех.И может также запускать события отсюда для стола.
Я знаю, что это немного сложно.Но структура огромна, и создание нового класса AbstractTableModel
и JTable
для каждого объекта также не очень хорошая идея.
Что вы предлагаете?