List selection event
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Vector; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.ListModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class SelectionHandler implements ActionListener, ListSelectionListener { private JLabel direction; private JList source, destination; public SelectionHandler(JLabel d, JList left, JList right) { direction = d; source = left; destination = right; } public void actionPerformed(ActionEvent a) { JComboBox cb = (JComboBox) a.getSource(); String selected = (String) cb.getSelectedItem(); String current = direction.getText(); if (!selected.equals(current)) { direction.setText(selected); JList temp = source; source = destination; destination = temp; source.clearSelection(); destination.clearSelection(); } } public void valueChanged(ListSelectionEvent e) { JList list = (JList) e.getSource(); String item = (String) source.getSelectedValue(); System.out.println(item); if (item != null && !item.equals("")) { removeFromSource(item); addToDestination(item); } } private void removeFromSource(String item) { ListModel model = source.getModel(); Vector listData = new Vector(); for (int i = 0; i < model.getSize(); i++) { listData.addElement(model.getElementAt(i)); } listData.removeElement(item); source.setListData(listData); } private void addToDestination(String item) { ListModel model = destination.getModel(); Vector listData = new Vector(); for (int i = 0; i < model.getSize(); i++) { listData.addElement(model.getElementAt(i)); } listData.addElement(item); destination.setListData(listData); } }