JList是显示对象列表并允许用户选择一个或多个项目的组件。要创建的实例,JList我们可以传递向量,对象数组或ListModel。在此示例中,我们将传递一个对象数组,其中包含日期,字符串和数字作为参数。
默认情况下,列表不显示滚动条。要给我们的JList组件一个滚动条,我们必须用来包装它JScrollPane。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.Date; public class CreateJListDemo extends JFrame { public CreateJListDemo() { initialize(); } // 初始化我们的CreateJListDemo的组件和配置。 private void initialize() { // 定义窗口标题,大小和默认的关闭操作。 this.setTitle("Create JList Demo"); this.setSize(300, 175); this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 创建一个任意对象数组以供JList显示。 Object[] data = new Object[] { new Date(), "One", 1, Long.valueOf("12345"), "Four", "Five" }; // 创建JList的实例并将数据变量作为 //它的初始内容。默认情况下,JList没有 // 滚动行为,因此我们创建一个JScrollPane作为容器 // JList。 JList list = new JList(data); JScrollPane scrollPane = new JScrollPane(list); // 添加一个按钮以关闭程序。 JButton button = new JButton("Close"); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); // 将面板布局设置为BorderLayout并将列表放置在 // 中心和南部的按钮。 this.setLayout(new BorderLayout(5, 5)); getContentPane().add(scrollPane, BorderLayout.CENTER); getContentPane().add(button, BorderLayout.SOUTH); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new CreateJListDemo().setVisible(true); } }); } }