我在swing GUI上有两个JList。现在我希望当用户点击一个按钮(比如TransferButton)时,一个JList中的选定元素从第一个JList添加到第二个JList,并从第一个JList中删除那些选定的元素。
答案 0 :(得分:3)
该模型不了解选择。
JList提供了几种获取所选项目或选定索引的方法。使用这些方法获取项目并将其添加到其他列表的模型中。
答案 1 :(得分:2)
你有两个JList
,然后你也有各自的ListModel
。根据您实现它们的方式,您可以从一个模型中删除元素并将它们添加到另一个模型中。但请注意,ListModel
接口默认情况下不关心元素访问,因此您可能需要自己实现add
和remove
方法。
答案 2 :(得分:1)
DefaultListModel leftModel = new DefaultListModel();
leftModel.addElement("Element 1");
leftModel.addElement("Element 2");
leftModel.addElement("Element 3");
leftModel.addElement("Element 5");
leftModel.addElement("Element 6");
leftModel.addElement("Element 7");
JList leftList = new JList(leftModel);
DefaultListModel rightModel = new DefaultListModel();
JList rightList = new JList(rightModel);
让我们假设您有两个JList组件,如上面的代码(左侧和右侧)所述。您必须编写以下代码以将选定值从左侧传递到右侧JList。
for(Object selectedValue:leftList.getSelectedValuesList()){
rightModel.addElement(selectedValue);
leftModel.removeElement(selectedValue);
}