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
JFrameand implementsActionListenerinterface. - Create an array of objects. These will be the values of the
JList. - Create a new
JListwith the above array. - Create a new
JButton. Add anActionListenerto the button and override theactionPerformedmethod. Now every time the user presses the button this method will fire up. - Call
getSelectedIndexto get the index of the selected item in theJList. - Call
getSelectedValuemethod to get the value of the selected item in theJList.
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.


