JList

Get selected value from JList

In this example we are going to learn how to get the selected value form a JList in a Java Desktop Application. This example is very useful because JList component provides a very easy way to get user input, especially when you want to give the user a number of specific options.

In order to get the selected value from a JList, one should follow these steps:

  • Create a class that extends JFrame and implements ActionListener interface.
  • Create an array of objects. These will be the values of the JList.
  • Create a new JList with the above array.
  • Create a new JButton. Add an ActionListener to the button and override the actionPerformed method. Now every time the user presses the button this method will fire up.
  • Call getSelectedIndex to get the index of the selected item in the JList.
  • Call getSelectedValue method to get the value of the selected item in the JList.

Let’s see the code:

package com.javacodegeeks.snippets.desktop;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JList;

public class GetSelectedValueFromJList extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;

	private JList list;
	private JButton button;

	public GetSelectedValueFromJList() {

		// set flow layout for the frame
		this.getContentPane().setLayout(new FlowLayout());

		Object[] data = { "Value 1", "Value 2", "Value 3", "Value 4", "Value 5" };

		list = new JList(data);
		button = new JButton("Check");

		button.addActionListener(this);

		// add list to frame
		add(list);
		add(button);

	}

	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("Check")) {
			int index = list.getSelectedIndex();
			System.out.println("Index Selected: " + index);
			String s = (String) list.getSelectedValue();
			System.out.println("Value Selected: " + s);
		}
	}

	private static void createAndShowGUI() {

  //Create and set up the window.

  JFrame frame = new GetSelectedValueFromJList();

  //Display the window.

  frame.pack();

  frame.setVisible(true);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

	public static void main(String[] args) {

  //Schedule a job for the event-dispatching thread:

  //creating and showing this application's GUI.

  javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

    createAndShowGUI(); 

}

  });
    }

}

This was an example on how to get the selected value from a JList.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to top button