У меня есть некоторые данные, которые я должен показать через два JTables; данные одинаковые, но каждая таблица должна будет показать это несколько иначе. Кроме того, я получаю данные из внешнего соединения (JMS в этом случае, но это не имеет большого значения, это может быть БД или что-то еще).Тот же набор данных, два разных JTables
Будучи тем, что я новичок в Swing, я все еще немного смущен тем, кто должен запускать события, кто должен их слушать и как сделать так, чтобы для изменения моего набора данных у меня появятся обе таблицы для обновления ,
Теперь немного пример моей структуры набора данных, а также некоторые фиктивные данные:
class Student{ String name; Classroom classroom; boolean goodStudent}
class Classroom{ Sting name; List<String> coursesTaught; List<Student> students;}
public List<Classroom> classes;
В принципе, мой набор данных будет classes
поле в классе контроллера и два JTable: придется показать вещи в различные пути. А именно, Table1 будет показать что-то вроде:
Classroom Name | Courses
4a | CS101, CS102, CS103
4b | BM101, CS102
4c | I101, CS4100
Так в основном, для каждого классе, перечень курсов.
Table2 вместо этого следует показывать такие вещи, как:
Student Name | Good?
Mark Spencer | true
Philippe Mann | true
Tom Sayer | false
Я должен увидеть все студенты из всех классов.
Как вы можете видеть, данные одно и то же, но это показано по-разному. Что я хотел бы сделать, так это то, что когда мои данные изменятся, таблицы также будут автоматически обновляться. Для того, что я понял до сих пор, мне придется подклассифицировать AbstractTableModel и создать две разные TableModels для данных, которые я хочу показать; что я не получаю:
- Как модели получат свои данные, как только произойдет какое-то изменение?
- Кому следует уведомлять модели об этом изменении?
- Достаточно ли вызвать «fireTableXXXEvent()» для запуска обновления представления?
Надеюсь, я сделал себе достаточно ясно ... В любом случае, большое спасибо! Bye
почему 2? если вы просто используете ту же таблицу, что и для 2-го, она просто работает? – Peter
@Peter, у них разные числа строк – StanislavL
извините, пропустил эту часть – Peter