繁体   English   中英

如何在Java中将元素从一个JList传输到另一JList?

[英]How to transfer the elements from one JList to other JList in Java?

我在摆动GUI上有两个JList。 现在,我希望当用户单击按钮(例如TransferButton)时,将从一个JList中选择的元素从第一个JList添加到第二个JList,并从第一个JList中删除那些选择的元素。

该模型不知道选择。

JList提供了几种获取所选项目或所选索引的方法。 使用这些方法获取项目并将其添加到其他列表的模型中。

您有两个JList ,然后还有它们各自的ListModel 根据实现它们的方式,您可以只从一个模型中删除元素,然后将它们添加到另一个模型中。 但是请注意,默认情况下, ListModel接口只需要元素访问即可,因此您可能必须自己在其中实现addremove方法。

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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM