0

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

坦斯克

4

2 回答 2

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);
于 2012-12-22T20:06:34.977 回答
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);
} 
于 2015-12-08T05:01:35.647 回答