Listening for Changes to the Selection in a JList Component : JList Selection « Swing « Java Tutorial

import javax.swing.JList;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class Main {
  public static void main(String[] argv) throws Exception {
    String[] items = { "A", "B", "C", "D" };
    JList list = new JList(items);
    list.addListSelectionListener(new MyListSelectionListener());

class MyListSelectionListener implements ListSelectionListener {
  public void valueChanged(ListSelectionEvent evt) {
    if (!evt.getValueIsAdjusting()) {
      JList list = (JList) evt.getSource();
      Object[] selected = list.getSelectedValues();

      for (int i = 0; i < selected.length; i++) {
        Object sel = selected[i];

14.43.JList Selection
14.43.1.List selection event
14.43.2.A single-selection JList.
14.43.3.Listening for Changes to the Items in a JList Component
14.43.4.Listening for Changes to the Selection in a JList Component
14.43.5.Setting the Selection Mode of a JList Component
14.43.6.The selected items must be in a contiguous range
14.43.7.Multiple ranges of selected items are allowed
14.43.8.Setting the Selected Items in a JList Component
14.43.9.Select all the items
14.43.10.Clear all selections
14.43.11.Select the first item
14.43.12.Add another selection - the third item
14.43.13.Deselect the first item
14.43.14.Getting the Selected Items in a JList Component
14.43.15.Get the index of the last selected item
14.43.16.Determine if there are any selected items