Swing JList Class



Swing JList Class :

package com.c4learn.swing;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
public class JListDemo {
  private JFrame mainFrame;
  private JLabel headLabel;
  private JLabel msgLabel;
  private JPanel mainPanel;
  public JListDemo() {
    mainFrame = new JFrame("Java Swing Examples");
    mainFrame.setSize(400, 400);
    mainFrame.setLayout(new GridLayout(3, 1));
    headLabel = new JLabel("JList Demo", JLabel.CENTER);
    msgLabel = new JLabel("Empty Selection", JLabel.CENTER);
    mainPanel = new JPanel();
    mainPanel.setLayout(new FlowLayout());
    mainFrame.add(headLabel);
    mainFrame.add(mainPanel);
    mainFrame.add(msgLabel);
    mainFrame.setVisible(true);
  }
  public static void main(String[] args) {
    JListDemo swingControlDemo = new JListDemo();
    swingControlDemo.showListDemo();
  }
  private void showListDemo() {
    final DefaultListModel languageNames = 
              new DefaultListModel();
    languageNames.addElement("Hindi");
    languageNames.addElement("English (USA)");
    languageNames.addElement("English (UK)");
    languageNames.addElement("Marathi");
    final JList langList = new JList(languageNames);
    langList.setSelectionMode
         (ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    langList.setVisibleRowCount(5);
    JScrollPane fruitScrollPane = new JScrollPane(langList);
    JButton showButton = new JButton("Show Languages");
    showButton.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        String list = "Languages Selected : ";
        if (langList.getSelectedIndex() != -1) {
          for (Object lang : langList.getSelectedValues()) {
            list += lang + "  ";
          }
        }
        msgLabel.setText(list);
      }
    });
    mainPanel.add(fruitScrollPane);
    mainPanel.add(showButton);
    mainFrame.setVisible(true);
  }
}

Output :

JList