有什么方法可以使用ListSelectionListener或MouseAdapter来获取有关所选值的信息(例如,如果value是一个String),是否有任何内置方法?
我只知道如何获取正确的索引,但不知道content或content.toString()
我正在添加这样的元素:
{
DefaultListModel listModel;
listModel.addElement(name);
}
@编辑
感谢您的帮助。
我通过这样做解决了我的问题(对于后代,这样他们就不需要像我一样进行搜索):
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());
}
});
最佳答案
使用JList
时,您可以简单地使用JList#getSelectedValue(),它将返回当前选定的实际对象。
如果您是从MouseListener
中执行此操作,则最好使用 JList#locationToIndex
,然后使用其索引从JList
中获取值
String value = (String)list.getModel().getElementAt(list.locationToIndex(e.getPoint()));