所以,我有两个选项卡,它们都有JList,并且它们都有一个存储数据的arraylist,现在我需要找到一种方法,可以将一个JList中的数据复制到一个选项卡中另一个选项卡中的另一个JList。
Thansk
答案 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);
}