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);
}
});
}
}