A single-selection JList. : JList Selection « Swing « Java Tutorial

import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class Main {

  String languages[] = { "Java", "Perl", "Python", "C++", "Basic", "C#" };

  JList jlst = new JList(languages);

  Main() {
    JFrame jfrm = new JFrame("Use JList");
    jfrm.setLayout(new FlowLayout());
    jfrm.setSize(200, 160);
    jlst.addListSelectionListener(new ListSelectionListener() {
      public void valueChanged(ListSelectionEvent le) {
        int idx = jlst.getSelectedIndex();
        if (idx != -1)
          System.out.println("Current selection: " + languages[idx]);
          System.out.println("Please choose a language.");

    jfrm.add(new JScrollPane(jlst));
    jfrm.setSize(300, 300);

  public static void main(String args[]) {
    new Main();

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