2011-02-23 5 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

관련 문제