Добавление элемента списка в JList из другого JList - PullRequest
3 голосов
/ 24 февраля 2011

у меня работает следующий код

made_list.setListData(original_list.getSelectedValues());

здесь made_list - это один JList, а original_list - это другой JList. Если я запускаю с этим кодом, выбранное значение из original_list заменяет предыдущее значение в made_list. Я этого не хочу. я хочу добавить вместо .. Как мне это сделать?

1 Ответ

3 голосов
/ 24 февраля 2011
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
...