有没有办法使用ListSelectionListener或MouseAdapter来获取有关所选值的信息(例如,如果value是一个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()); } });
答案 0 :(得分:3)
使用JList
时,您只需使用JList#getSelectedValue()即可返回当前所选的实际对象。
如果您是在MouseListener
内执行此操作,最好使用JList#locationToIndex
然后使用JList
获取 String value = (String)list.getModel().getElementAt(list.locationToIndex(e.getPoint()));
的值
{{1}}