Mega Code Archive

 
Categories / Java Tutorial / Swing
 

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);   } }