jList2.setListData(jList1.getSelectedValues());
我用它来将数据从 jlist1 传输到 jlist2。但我想从 jlist1 中删除传输的数据。怎么可能。
问问题
412 次
2 回答
1
首先:getSelectedValues()
已弃用,使用getSelectedValuesList()
泛型将它们作为列表获取。
其次,在创建 JList 之前创建一个 DefaultListModel,以便您可以添加/删除它,例如
DefaultListModel<String> model = new DefaultListModel<String>();
DefaultListModel<String> model2 = new DefaultListModel<String>();
JList<String> list1 = new JList<>(model);
JList<String> list2 = new JList<>(model2);
...
for(String s : list1.getSelectedValuesList()){
model2.addElement(s);
model.removeElement(s);
}
请记住,列表和模型的更改必须在事件调度线程上执行
于 2012-08-02T14:51:23.213 回答
1
有两种方法
在 Oracle 页面上查看 Drag an Drop 教程
在 mouseDragged 上从一个 JList 中删除 selectedItem 并增加秒数,注意这个想法需要更好地了解 Java Swing
于 2012-08-02T14:52:28.830 回答