我有一个jlist,它有一些元素并且工作正常。然后我试图将选定的jlist元素添加到字符串列表,但它不会显示任何结果(尽管没有错误)。怎么了?
inal JList list = new JList(arraylist.toArray());
list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
JOptionPane.showMessageDialog(
null, list, "Select", JOptionPane.QUESTION_MESSAGE);
ListSelectionListener listSelectionListener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
String lstr = list.getSelectedValue().toString();
List<String> tolist = Arrays.asList(lstr);
System.out.println(tolist);
}
};
已更新:(已修复)
final ListSelectionListener listSelectionListener = new ListSelectionListener() {
public void valueChanged (ListSelectionEvent e) {
String lstr = list.getSelectedValuesList().toString();
System.out.println(lstr);
List<String> tolist = Arrays.asList(lstr);
System.out.println(tolist);
}
};
list.addListSelectionListener(listSelectionListener);
JOptionPane.showMessageDialog( null,list,“Select”,JOptionPane.QUESTION_MESSAGE);
答案 0 :(得分:3)
在您的ListSelectionListener
注册JList
之后,在宣布匿名内部类之后
ListSelectionListener listSelectionListener = new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
// ...
}
};
list.addListSelectionListener(listSelectionListener);
答案 1 :(得分:2)
如果您正在使用多个选择,为什么使用getSelectedValue而不是getSelectedValues或(对于JDK 7)getSelectedValuesList?