我在摆动 GUI 上有两个 JList。现在我希望当用户单击按钮(例如 TransferButton)时,将一个 JList 中的选定元素从第一个 JList 添加到第二个 JList,并从第一个 JList 中删除这些选定元素。
问问题
3872 次
3 回答
3
该模型不知道选择。
JList 提供了几种方法来获取选定项或选定索引。使用这些方法获取项目并将它们添加到另一个列表的模型中。
于 2010-01-22T15:30:34.227 回答
2
你有两个JList
s,那么你也有他们各自ListModel
的s。根据您实现它们的方式,您可以从一个模型中删除元素并将它们添加到另一个模型中。但是请注意,默认情况下,该ListModel
接口只关心元素访问,因此您可能必须自己在那里实现add
和remove
方法。
于 2010-01-22T15:13:01.033 回答
2
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);
}
于 2014-02-17T12:18:36.440 回答