如何将数据从一个JList复制到另一个JList

时间:2012-12-22 20:00:26

标签: java jlist

所以,我有两个选项卡,它们都有JList,并且它们都有一个存储数据的arraylist,现在我需要找到一种方法,可以将一个JList中的数据复制到一个选项卡中另一个选项卡中的另一个JList。

Thansk

2 个答案:

答案 0 :(得分:2)

取决于你拥有的和准确的,这是有效的,但随后他们将共享ListModel,而不是复制:

list2.setModel(list1.getModel());

然后循环遍历一个模型中的元素并添加到另一个模型中。

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

list2.setModel(list2Model);

答案 1 :(得分: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);
}