JList - `setListData()`导致`getSelectedValue()`返回空值
问题描述:
当我创建我的JList时,我可以使用getSelectedValue()打印出我在列表中选择的字符串。只要我改变列表中的内容,所有返回的内容都是null。JList - `setListData()`导致`getSelectedValue()`返回空值
当创建列表我有这样的:
matchList.setModel(new javax.swing.AbstractListModel<String>() {
String[] playerList = {"test"};
public int getSize() { return playerList.length; }
public String getElementAt(int i) { return playerList[i]; }
});
后来我改变JList中包含字符串数组:在JList的,但如果阵列显示器内
matchList.setListData(Bracket.wr1);
一切我尝试使用getSelectedValue()来获取正在显示的字符串,它只是返回null。
我在做什么错?
答
似乎没有选择了。按照Oracle DocumentationgetSelectedValue()
[R]如果没有选择eturns空。
所以,如果没有默认的选择了,你应该刚刚成立的第一个元素作为默认:
list.setSelectedIndex(0);
HM所以唯一的问题是,有改变的选项后,没有选择的项目? – torkleyy