代码之家  ›  专栏  ›  技术社区  ›  Amit

在Java中如何将元素从一个JLIST转移到其他JLIST?

  •  0
  • Amit  · 技术社区  · 14 年前

    我在Swing GUI上有两个jList。现在,我希望当用户单击按钮(比如transferButton)时,从一个jlist中选择的元素将从第一个jlist添加到第二个jlist,并从第一个jlist中删除这些选择的元素。

    3 回复  |  直到 10 年前
        1
  •  3
  •   cconway    14 年前

    模型不知道选择。

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

        2
  •  2
  •   Joey    14 年前

    你有两个 JList S,那么你也有他们各自的 ListModel 根据你如何实现它们,你可以从一个模型中删除元素,然后将它们添加到另一个模型中。不过,请注意, 列表模型 默认情况下,接口只关心元素访问,因此您可能需要实现 add remove 方法一个人。

        3
  •  1
  •   Otabek O'ktamjon o'gli    10 年前
    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);
    }