当前位置: 代码迷 >> java >> 将jlist的选定元素添加到另一个jlist的快速方法
  详细解决方案

将jlist的选定元素添加到另一个jlist的快速方法

热度:73   发布时间:2023-07-26 14:31:07.0

单击它们时,我必须从jList1中选择许多项并将它们添加到另一个jList2中。 我为jList1编写了一个方法,但是不起作用:

private void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {                                    
    elenco[indice]=jList1.getSelectedValue().toString();
    indice++;
    jList2.setListData(elenco);
}

我有一个java.lang.NullPointerException。 elenco是一个String []。 最好的方法是什么? 谢谢。

我有类似的要求,这是一个有效的代码

编辑:粘贴详细的代码。

List<String>selectedValues = new ArrayList<String>();

List<String> selected = jList1.getSelectedValuesList();
//List to hold selected values. 
selectedValues.addAll(selected);    

jList2.setListData(selectedValues.toArray(new String[0]));

List<String>remainingValues = new LinkedList<>();
for(int index=0; index<jList1.getModel().getSize(); index++){
    String str = jList1.getModel().getElementAt(index);
    if( ! selectedValues.contains(str)){
        remainingValues.add(str);
    }
}
//getRemainingValuesList() returns the values remaining after selection
jLis1.setListData(remainingValues);