问题描述
单击它们时,我必须从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 []。
最好的方法是什么?
谢谢。
1楼
我有类似的要求,这是一个有效的代码
编辑:粘贴详细的代码。
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);