JList - получаване на стойност от Click

Има ли някакъв начин да използвате ListSelectionListener или MouseAdapter, за да получите информация за избраната стойност (ако стойността е String например), има ли някакъв вграден метод за това?

Знам само как да получа правилни индекси, но не и съдържанието или content.toString()

Добавям елемент като този:

{
    DefaultListModel listModel;

    listModel.addElement(name);
}

@Edit
Благодаря ви за помощта. Реших проблема си, като направих това (за бъдещите поколения, за да не се налага да търсят като мен):

    list.addMouseListener(new MouseAdapter(){
          @Override
          public void mouseClicked(MouseEvent e) {
              System.out.println("Mouse click.");
              int index = list.getSelectedIndex();
              System.out.println("Index Selected: " + index);
              String s = (String) list.getSelectedValue();
              System.out.println("Value Selected: " + s.toString());
          }
    });

person Community    schedule 15.06.2014    source източник
comment
Опитайте JList#getSelectedValue() и прочетете повече Как да напишете слушател за избор на списък   -  person Braj    schedule 16.06.2014


Отговори (1)


Когато използвате JList, можете просто да използвате JList#getSelectedValue(), който ще върне действителния обект, който е избран в момента.

Ако правите това от MouseListener, би било по-добре да използвате JList#locationToIndex и след това вземете стойността от JList, като използвате неговия индекс

 String value = (String)list.getModel().getElementAt(list.locationToIndex(e.getPoint()));
person MadProgrammer    schedule 16.06.2014