Подтвердить что ты не робот

JTable - выбранное событие выбора строки

У меня есть Jtable, заполненный связанным списком через AbstractTableModel.

Что я хочу сделать, это когда я нажимаю (щелчок левой кнопкой мыши) в строке в JTable, связанный список - это поиск (в этом случае он содержит названия фильмов) и отображает значения в связанном списке в Jtextboxes

Как это сделать?

Вот код

Я предполагаю, что он извлекает данные из выбранной строки в массив, разбивает их и помещает в jtextareas. Как я могу это сделать?

4b9b3361

Ответ 1

Вот как я это сделал:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
        public void valueChanged(ListSelectionEvent event) {
            // do some actions here, for example
            // print first column value from selected row
            System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
        }
    });

Этот код реагирует на щелчок мышью и выбор элементов с клавиатуры.

Ответ 2

Чтобы узнать, какая строка была выбрана, добавьте ListSelectionListener, как показано в Как использовать таблицы в примере SimpleTableSelectionDemo. A JList можно построить непосредственно из связанного списка toArray(), и вы можете добавить к нему подходящий прослушиватель для деталей.

Ответ 3

Я бы рекомендовал использовать Glazed Lists для этого. Это позволяет легко сопоставить структуру данных с табличной моделью.

Чтобы реагировать на mouseclick на JTable, используйте ActionListener: ActionListener в ячейке JLabel или JTable

Ответ 4

Вы можете использовать событие MouseClicked:

private void tableMouseClicked(java.awt.event.MouseEvent evt) {
 // Do something.
}