2013-10-03 21 views
2

我有一個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( 空,列表 「選擇」,JOptionPane.QUESTION_MESSAGE);

回答

2

如果您使用多個選擇,爲什麼使用getSelectedValue而不是getSelectedValues或(對於JDK 7)getSelectedValuesList?

3

註冊您ListSelectionListenerJList和匿名內部類已被宣佈後

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

閱讀:How to Write a List Selection Listener

+0

加入list.addListSelectionListener(listSelectionListener);但它說listSelectionListener可能尚未初始化。 @Reimeus – user2598911

+0

聽起來好像你有一個未初始化的本地變量 - 你可以發佈你的嘗試代碼? – Reimeus

+0

這是一樣的。我只是在public void之下添加了你的行。 @Reimeus – user2598911

相關問題