2015-03-30 34 views
0

我正在使用此事件將列表中選定的元素複製到另一個列表中,該列表中也包含信息。我能夠複製該元素,但是當我這樣做時,它正在刪除list2中的元素。我試圖複製並從一個列表中刪除,並反之亦然。使用按鈕將1個列表元素複製到另一個列表中,但保留第二個列表內容

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    List<String> selectedValuesList = jList1.getSelectedValuesList(); 
    jList2.setListData(selectedValuesList.toArray(new String[selectedValuesList.size()]));  
} 
+0

可能重複【JAVA - 複製數組列表] (http://stackoverflow.com/questions/10457302/java-copying-array-list) – Mathemats 2015-03-30 23:21:02

+0

@Mathemats錯誤的列表類型...'javax.swing.JList!= java.util.List';) – MadProgrammer 2015-03-30 23:24:44

+0

@MadProgrammer真的,雖然他有一個邏輯問題(我沒有看到例如循環)。 – Mathemats 2015-03-30 23:27:20

回答

2

請勿使用setListData,這會覆蓋內容。

開始由ListModeljList2設置爲DefaultListModel

jList2.setModel(new DefaultListModel()); 

然後使用addElement代替

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
{ 
    List selectedValuesList = jList1.getSelectedValuesList(); 
    DefaultListModel model = (DefaultListModel)jList2.getModel(); 
    for (Object value : selectedValuesList) { 
     model.addElement(value); 
    } 
} 

How to Use Lists更多細節

相關問題