2010-12-15 2 views
0

Я изучаю кодирование на Java, чтобы реализовать список элементов, и пользователь может выбрать один из них, нажав на один элемент. То, что я выбрал, этоВопрос о правильном использовании ListSelectionListener в JTable

1). Я объявил объект типа DefaultTableModel и установил 7 идентификаторов столбца.

2). Тогда я просто петельные через мой список объектов (который типа NodeList), разбор каждого из них и превратить его в массив и добавляя к строке этой таблицы по телефону:

model.addRow(myArray); 

3). После этого я создал новый JTable, и добавил свою модель к нему и прикрепить его с помощью графического интерфейса пользователя:

table = new JTable(model); 
JScrollPane scrollpane = new JScrollPane(table); 
panel.add(scrollpane); 

4). Это шаг, на котором я застрял. Позвонив API в JTable, мне удалось получить экземпляр ListSelectionModel и прикрепить слушателя к нему:

table.getSelectionModel().addListSelectionListener 
(
    new ListSelectionListener() 
{ 
     public void valueChanged(ListSelectionEvent event) 
     { 
     int viewRow = table.getSelectedRow(); 

я мог управлять только, чтобы добраться сюда, то есть индекс строки, но то, что я действительно пытается для получения значения этих идентификаторов этой конкретной строки. Предположим, что мои идентификаторы: {«ID», «HREF», «Height», «Width», «Product», «Type», «Caption»}, я буду очень благодарен, если вы, ребята, можете мне помочь на следующем шаге на получение значения любого из этих 7 идентификаторов этой выбранной строки.

Заранее благодарен!

ответ

2

Если вы просто хотите конкретное значение из строки вы можете позвонить:

table.getValueAt (строка, столбец);

Где строка - ваш viewRow, а col - индекс указанных идентификаторов (так что 0 будет ID, 2 - Height и т. Д.).

Подробнее о JTable JavaDocs

Смежные вопросы