将选中jlist的元素放入字符串列表中

时间:2013-10-03 02:07:07

标签: java swing jlist

我有一个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);

2 个答案:

答案 0 :(得分:3)

在您的ListSelectionListener注册JList之后,在宣布匿名内部类之后

ListSelectionListener listSelectionListener = new ListSelectionListener() {
    public void valueChanged(ListSelectionEvent e) {
           // ...
    }
};
list.addListSelectionListener(listSelectionListener);

阅读:How to Write a List Selection Listener

答案 1 :(得分:2)

如果您正在使用多个选择,为什么使用getSelectedValue而不是getSelectedValues或(对于JDK 7)getSelectedValuesList?