2015-11-13 46 views
0

我想要從JList中有多個選擇(「列」)。如何獲取JList中所有選定項的字符串值,並在按下(「導出」)按鈕後將它們放入字符串的數組/列表中?JList中的多個時間間隔選擇

我有這個在我的構造函數:

public ColumnList(String[] allColumns) { 
    super(new BorderLayout()); 
    listModel = createListModel(allColumns); // contains all the columns 
    list = new JList<String>(listModel); 
    list.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 
    list.setSelectedIndex(0); 
    list.setVisibleRowCount(5); 
    JScrollPane listScrollPane = new JScrollPane(list); 
    exportButton = createExportButton(exportString); 
} 

而且在同一個班是這個內部類:

class ExportListener implements ActionListener { 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     String columnName = (String) list.getSelectedValue(); 
     selectedCols.add(columnName); // add to array list 
    } 
} 

現在我知道這是行不通的。這將只適用於一個選定的值。我如何做多選?

回答

0
class ExportListener implements ActionListener { 
    @Override 
    public void actionPerformed(ActionEvent e) { 
     String[] columnsSelected; 
     columnsSelected = new String[list.getSelectedValuesList().size()]; 
     columnsSelected = (list.getSelectedValuesList()).toArray(columnsSelected);  
    } 
} 

我能夠這樣做。