2015-01-11 2 views
0

У меня проблемы с моей программой. Я почему-то не могу получить предметы из моего одного списка в другой список.Как добавить определенный элемент в список в другой список?

defaultListModel model1 = new DefaultListModel(); 
    DefaultListModel model2 = new DefaultListModel(); 
    //check an item is selected from listbox 
    if (lstlibrary.getSelectedIndex() != -1) { 
     int position; 
     position = array1.indexOf(lstlibrary.getSelectedValue()); 
     array2.add(array1.get(position)); 
     array1.remove(position);  

    //move array to listbox model 
     for (String value1 : array1) { 
      model1.addElement(value1); 
     } 
     lstlibrary.setModel(model1); 

     for (String value2 : array2) { 
      model1.addElement(value2); 
     } 
     lstlibrary.setModel(model2);  

Это то, что сказал мне мой учитель, и я не могу заставить его работать. Я пробовал все, и я понятия не имею, что делать, я совсем не знаком с этим, поэтому, если кто-нибудь сможет мне помочь, это будет здорово!

+0

Netbeans не имеет никакого отношения к этому. – EJP

+0

Я использую netbeans для этого ... –

ответ

1

Проблема в том, что вы пытаетесь установить model2 в тот же список, что и выбранный вами элемент. Вы должны иметь два списка, например lstlibrary1 и lstlibrary2 и попытайтесь переместить элементы из lstlibrary1 в lstlibrary2 так изменить последние строки этого

for (String value2 : array2) { 
     model1.addElement(value2); 
    } 
    lstlibrary.setModel(model2); 

к этому

for (String value2 : array2) { 
     model2.addElement(value2); 
    } 
    lstplaylist.setModel(model2); 

, если имя объекта второго списка является lstplaylist также во втором цикле, вы должны использовать model2 вместо model1

====================================================================================================================================================================== =

обновления

попытки изменить эти функции, чтобы решить проблему

для btnToPlaylistMouseClicked() изменяет последние два для цикла к этому

// refreshing lstlibrary to remove selected name 
for (String value1 : array1) { 
     model1.addElement(value1);// adding elements to model1 
    } 
    lstlibrary.setModel(model1);// using model1 for lstlibrary 


//refreshing lstplaylist to add new selected name 
    for (String value2 : array2) { 
     model2.addElement(value2);// adding elements to model2 
    } 
    lstplaylist.setModel(model2);// using model2 for lstplaylist 

также использовать эти для лупов для btnRemoveMouseClicked () слишком. у вас тоже есть проблема.

+0

Спасибо, он работает немного лучше, но не полностью работает. Но я так и не поставил вопрос. –

+0

отправьте свой полный код jframe, чтобы проверить, какие другие проблемы – Reza

+0

Я добавил остальную часть своего кода, если вам что-то еще нужно, чтобы помочь, просто дайте мне знать! ans thank you –

Смежные вопросы