如何在Java中将一个ListModel传输到另一个ListModel中

时间:2017-03-10 22:07:22

标签: java list listmodel

我有两个ListModel:listModelRight和listModelLeft。我只想要,listModelRight = ListModelLeft,但即使这样也行不通。我该怎么办?

代码示例:

listModelFilterleft = listModelFilterright;
jList10.setModel(listModelFilterleft);
listModelFilterright.clear();
jList11.setModel(listModelFilterright);

了解更多信息原因: 我试图制作一个过滤器,由两个JLists和5个按钮组成。按钮是将Filtervariables从左到右或再从后面。 5个按钮意味着:

> from left to right
>> all from left to right
<> change left and right
<< all from right to left
< from right to left

如果您点击&gt;&gt;或&lt;&lt;所有项目应从列表到另一个列表。因此,我将使用原始的Inputitems(按照正确的顺序),我用它来填充列表中的项目......

2 个答案:

答案 0 :(得分:1)

DB_ID()

现在,这两个变量引用相同的唯一对象。

listModelFilterleft = listModelFilterright;

第一个列表使用该唯一对象作为其模型

List10.setModel(listModelFilterleft);

现在,这个模型中已经没有了什么

listModelFilterright.clear();

现在第二个列表使用相同的,唯一的空对象作为其模型。

您需要两种可疑模型。您想从第一个元素中删除所有元素,并将它们添加到第二个元素中。

答案 1 :(得分:0)

这是我的解决方案: 它有用,如果你想拥有:ListModel2 = ListModel1; 只需写下:ListModel2 = setListModel1ToListModel2ByOverrideListModel2 (listModel1, listModel2);

public DefaultListModel setListModel1ToListModel2ByOverrideListModel2 (DefaultListModel listModel1, DefaultListModel listModel2){
     listModel2.clear();
     for (int i = 0; i < listModel1.getSize(); i++){
         listModel2.addElement(listModel1.getElementAt(i));
     }
 return listModel2;

}