具体程序实现方法如下。
1) 初始化(仅给出初始化左面的列表框)
private JScrollPane jScrollPane1 = new JScrollPane();
DefaultListModel model1 = new DefaultListModel();
private JList jList1 = new JList(model1);
private Vector selectedElement = new Vector();
private int selectedNumber = 0;
2)添加和删除元素
向右面的列表框中添加元素,也就是单击“>>”按钮执行的操作。
for(int i = 0;i< jList1.getSelectedValues().length; i++)
{
//选择多个元素,逐个进行操作
selectedElement.addElement(jList1.getSelectedValues()[i]); //Vector实例中增加对象
model2.addElement(jList1.getSelectedValues()[i]); //右面的列表中增加元素
selectedNumber = selectedNumber + 1; //选定元素个数加1
selectedElement.setSize(selectedNumber); //设定Vector实例的长度
}
从右面的列表框中选择元素进行删除,也就是单击“<<”按钮执行的操作。
for(int i = 0;i< jList2.getSelectedValues().length; i++)
{
selectedElement.removeElement(jList2.getSelectedValues()[0]);
model2.removeElement(jList2.getSelectedValues()[0]);
//减少元素,需要注意每次移去的都是第0个元素
selectedNumber = selectedNumber - 1;
selectedElement.setSize(selectedNumber);
}
3)获取选择的元素
以将选定的元素转换成字符串类型为例,这段代码一般放在“确定”按钮的单击操作里面。
String[] selectedProduct = new String[selectedElement.size()];
for (int i = 0; i < selectedElement.size(); i++) {
selectedProduct[i] = (String)selectedElement.elementAt(i); //强制类型转换成为字符串
}
总结
本文给出了实现Java列表框中元素动态添加、删除操作和获得用户选择的元素值的方法和实例,解决了Java程序设计中的列表框元素的动态变化问题。
