我实际上无法检索存储在JList
中的项目。我正在使用Eclipse,它促使我参与JList
的参数化,我做了String
),我需要一种方法来检索值并将它们存储在String
变量中。< / p>
初始化:
JList<String> songlist;
songlist = new JList<String>(list); //list is a DefaultListModel
用户用歌曲填充JList ......
然后我尝试检索所选歌曲以显示有关它的信息:
String value = songlist.getSelectedItem().toString();
......我收到错误:
对于类型JList
,方法getSelectedItem()未定义
当我尝试getSelectedValue()
和getElementAt()
(与getSelectedIndex()
配对时)同样如此
答案 0 :(得分:1)
使用getSelectedIndex
()代替getSelectedItem
()
JList中不存在此类方法,有关详细信息,请参阅http://docs.oracle.com/javase/7/docs/api/javax/swing/JList.html
答案 1 :(得分:1)
如果您的选择模式为SINGLE,请使用
public E getSelectedValue()
- 返回最小的选定单元格索引的值;在列表中仅选择单个项目时所选的值。选择多个项目时,它只是最小选定索引的值。如果没有选择,则返回null。 这是一种方便的方法,它只返回getMinSelectionIndex
的模型值。
如果您的选择模式为MULTIPLE,请使用
public List<E> getSelectedValuesList()
- 根据列表中的索引,按升序排列所有选定项目的列表。请参阅JList API