2011-02-23 83 views
3

添加列表項的JList我有下面的代碼工作從另一個JList的

made_list.setListData(original_list.getSelectedValues());

這裏made_list是一個JList和original_list是另一個JList的。如果我使用此代碼運行,則從original_list中選擇的值將替換made_list中的前一個值。我不想那樣。我想追加,而不是..我如何做到這一點?

回答

3
1) Get the model for made_list 
2) Get the selected items from orig_list 
3) Make a new object[] that is the size of 1) + 2) 
4) populate 3) with the items from 1) + 2) 
5) set the make_list model with the object[] from 4) 

實現:

ListModel made_model = made_list.getModel(); // 1 

Object[] orig_sel = orig_list.getSelectedItems(); // 2 

Object[] new_made_model = new Object[made_model.size() + orig_sel.length]; // 3 

// this block is 4 
int i = 0; 
for(;i < made_model.size(); i++) 
    new_made_model[i] = made_model.getElementAt(i); 
for(; i < new_made_model.length; i++) 
    new_made_model[i] = orig_sel[i - made_model.size()); 

made_model.setListData(new_made_model); // 5 
+0

感謝..它的工作! – Deepak 2011-02-23 23:53:51