2012-12-22 6 views
0

Итак, у меня есть две вкладки, каждая из которых имеет JList, и оба они имеют arraylist, в котором хранятся их данные, теперь мне нужно найти способ, который позволит для копирования данных из одного JList на одной вкладке в другую JList на другой вкладке.Как скопировать данные из одного JList в другой JList

Thansk

+2

Помните, если вы добавите код? – DrinkJavaCodeJava

+0

Невозможно получить все мои оценки, снятые змеями, которые предают там одноклассников и Ноттингемский университет. Особенно Кайл. Если бы вы могли просто сообщить мне способ сделать это или если есть какие-либо функции java, которые могут помочь мне просто решить проблему. – KyleTheSnake

ответ

2

Зависит от того, что у вас есть и намерены именно, это работает, но тогда они будут делить ListModel, не копировать:

list2.setModel(list1.getModel()); 

Else петлю через элементы из одной модели и добавить в к другому.

ListModel model = list1.getModel(); 
DefaultListModel list2Model = new DefaultListModel(); 
for (int i=0; i<model.getSize(); i++) { 
    list2Model.addElement(model.elementAt(i); 
} 

list2.setModel(list2Model); 
+0

Мне нравится звук, проходящий через элементы, поскольку копирование всей модели списка не будет идеальным, поскольку я хотел бы сохранить предыдущие данные в списке. – KyleTheSnake

+0

Блестяще спасибо! – KyleTheSnake

0

Ну, во-первых, вы должны установить модели для каждого JList

DefaultListModel listModel = new DefaultListModel(); 
DefaultListModel listModel2 = new DefaultListModel(); 

Я думаю, что вы сохранили данные в первую JList, так что вы просто передать его во второй JList следующим образом :

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)  {           
    int index=LV.getSelectedIndex(); 
    listModel2.addElement(LV.getSelectedValue()); 
    LV2.setModel(listModel2); 
    listModel.remove(index); 
} 
Смежные вопросы