Как изменить содержимое таблицы на основе выбора строки из другой таблицы - PullRequest
1 голос
/ 17 сентября 2010

Я создал JDialog, который отображает две разные таблицы.Когда пользователь выбирает строку из первой таблицы, содержимое второй таблицы должно обновляться соответствующим образом и отображать некоторые новые данные.Может ли кто-нибудь дать мне несколько советов, чтобы создать такое поведение таблицы?Спасибо!

1 Ответ

3 голосов
/ 17 сентября 2010
  • сделать модель таблицы второй таблицы реализующей ListSelectionListener и добавить ее в качестве слушателя к модели выбора первой таблицы
  • убедитесь, что вы запускаете fireTableDataChanged () (при условии, что ваша табличная модель второй таблицы расширяется AbstractTableModel), когда вызывается valueChanged(..) модели таблицы второй таблицы.

Или вы можете добавить анонимный класс, выполняющий пересылку соответствующего события. Что-то вроде:

table1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
  public void valueChanged(ListSelectionEvent e) 
  {
     ... // fill data into table2
     tableModel2.fireTableDataChanged(); // update the display
  }
});    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...