从Java中的JList中删除所选项

时间:2014-09-19 19:20:57

标签: java jlist

如何删除我在左侧列表中选择的内容到右侧列表?

我在YouTube上看了一个教程,那个人做了这个代码,但看起来并不好看。我的意思是,当我在左侧列表中添加左侧列表的内容时,我需要删除左侧列表中选择的内容。

button = new JButton("Move -->");
button.addActionListener(
    new ActionListener(){
        public void actionPerformed(ActionEvent event){
            rightlist.setListData(leftlist.getSelectedValues());

        }
    }
);

因此,此按钮将我在左侧列表中选择的内容放入右侧列表中。但正如我所说,我想删除从左侧列表中选择的项目。因此它只会出现在右侧列表中,而不会出现在左侧列表中。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

你所采用的方法并不糟糕,它实际上做了你想做的事情:

button.addActionListener((ActionEvent e) ->
{
    rightlist.setListData(leftlist.getSelectedValues());

现在,您需要从基础ListModel中删除这些元素。假设你有一个DefaultListModel,你可以这样做:

    DefaultListModel model = (DefaultListModel) leftlist.getModel();
    for (Object elem : leftlist.getSelectedValues)
        model.removeElement(elem);
}

有关详细信息,请参阅DefaultListModel的{​​{3}}。