如何在 Java 中将一个 ListModel 转移到另一个
How to transfer one ListModel into an other one in Java
我有两个 ListModel:listModelRight 和 listModelLeft。我只想要 listModelRight = ListModelLeft,但即使这样也不起作用。我该怎么做?
代码示例:
listModelFilterleft = listModelFilterright;
jList10.setModel(listModelFilterleft);
listModelFilterright.clear();
jList11.setModel(listModelFilterright);
更多信息原因:
我试图制作一个过滤器,由两个 JList 和 5 个按钮组成。按钮用于将过滤器变量从左向右或向后放置。 5 个按钮表示:
> from left to right
>> all from left to right
<> change left and right
<< all from right to left
< from right to left
如果您单击 >> 或 <<,所有项目都应该从 on 列表转到另一个列表。因此,我将使用原始的 Inputitems(以正确的顺序),我用它来用项目填充列表...
listModelFilterleft = listModelFilterright;
现在,这两个变量引用相同的唯一对象。
List10.setModel(listModelFilterleft);
第一个列表使用该唯一对象作为其模型
listModelFilterright.clear();
现在,这个模型已经没有了
jList11.setModel(listModelFilterright);
现在第二个列表使用相同的、唯一的空对象作为其模型。
您需要两个不同的模型。您想要从第一个元素中删除所有元素,并将它们添加到第二个元素中。
这是我的解决方案:
它有效,如果你想要: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;
}
我有两个 ListModel:listModelRight 和 listModelLeft。我只想要 listModelRight = ListModelLeft,但即使这样也不起作用。我该怎么做?
代码示例:
listModelFilterleft = listModelFilterright;
jList10.setModel(listModelFilterleft);
listModelFilterright.clear();
jList11.setModel(listModelFilterright);
更多信息原因: 我试图制作一个过滤器,由两个 JList 和 5 个按钮组成。按钮用于将过滤器变量从左向右或向后放置。 5 个按钮表示:
> from left to right
>> all from left to right
<> change left and right
<< all from right to left
< from right to left
如果您单击 >> 或 <<,所有项目都应该从 on 列表转到另一个列表。因此,我将使用原始的 Inputitems(以正确的顺序),我用它来用项目填充列表...
listModelFilterleft = listModelFilterright;
现在,这两个变量引用相同的唯一对象。
List10.setModel(listModelFilterleft);
第一个列表使用该唯一对象作为其模型
listModelFilterright.clear();
现在,这个模型已经没有了
jList11.setModel(listModelFilterright);
现在第二个列表使用相同的、唯一的空对象作为其模型。
您需要两个不同的模型。您想要从第一个元素中删除所有元素,并将它们添加到第二个元素中。
这是我的解决方案:
它有效,如果你想要: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;
}