JList
is a component that displays a list of objects and allow user to select one or more items. To create an instance of JList
we can pass a vector, an array of objects or a ListModel
. In this example we will pass an array of objects that contains a date, string and numbers as the parameters.
By default, the list does not display a scrollbar. To give our JList
component a scrollbar we must wrap it with a JScrollPane
.
package org.kodejava.swing;
import javax.swing.*;
import java.awt.*;
import java.util.Date;
public class CreateJListDemo extends JFrame {
public CreateJListDemo() {
initialize();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(
() -> new CreateJListDemo().setVisible(true));
}
// Initialize the components and configuration of our CreateJListDemo.
private void initialize() {
// Define the window title, size and the default close operation.
this.setTitle("Create JList Demo");
this.setSize(500, 175);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// Create an array of arbitrary objects for the JList to display.
Object[] data = new Object[]{
new Date(), "One", 1, Long.valueOf("12345"), "Four", "Five"
};
// Create an instance of JList and pass data variable as the
// initial content of it. By default, the JList does not have a
// scrolling behaviour, so we create a JScrollPane as the container
// for the JList.
JList<Object> list = new JList<>(data);
JScrollPane scrollPane = new JScrollPane(list);
// Add a button to close the program.
JButton button = new JButton("Close");
button.addActionListener(e -> System.exit(0));
// Set the panel layout to BorderLayout and place the list in the
// center and the button on the south.
this.setLayout(new BorderLayout(5, 5));
getContentPane().add(scrollPane, BorderLayout.CENTER);
getContentPane().add(button, BorderLayout.SOUTH);
}
}
Latest posts by Wayan (see all)
- How do I add an object to the beginning of Stream? - February 7, 2025
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024