Java如何获得JList组件的项目?

在此示例中,您将看到我们如何读取JList组件的项目。我们还获得JList组件中项目的大小或数量。

这可以通过调用返回对象JList的getModel()方法来完成ListModel。从中,ListModel我们可以获得项目的大小,并且可以迭代JList组件的整个项目。

package org.nhooo.example.swing;

import javax.swing.*;
import java.awt.*;
import java.text.DateFormatSymbols;

public class JListGetItems extends JFrame {
    public JListGetItems() {
        initialize();
    }

    private void initialize() {
        // 配置框架默认关闭操作,其大小和
        // 布局。
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setSize(300, 300);
        this.setLayout(new BorderLayout(5, 5));

        // 创建一个JList并将项目设置为可用的工作日
        // 名称。
        Object[] listItems = DateFormatSymbols.getInstance().getWeekdays();
        JList list = new JList(listItems);
        getContentPane().add(list, BorderLayout.CENTER);

        // 下面我们开始打印列表项的大小并进行迭代
        // 整个列表项或元素。
        System.out.println("JList item size: " + list.getModel().getSize());

        System.out.println("Reading all list items:");
        System.out.println("-----------------------");
        for (int i = 0; i < list.getModel().getSize(); i++) {
            Object item = list.getModel().getElementAt(i);
            System.out.println("Item = " + item);
        }
    }

    public static void main(String[] args) {
        // 运行程序,创建JListGetItems的新实例,然后
        // 将其可见性设置为true。
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new JListGetItems().setVisible(true);
            }
        });
    }
}

结果如下:

JList item size: 8
Reading all list items:
-----------------------
Item = 
Item = Sunday
Item = Monday
Item = Tuesday
Item = Wednesday
Item = Thursday
Item = Friday
Item = Saturday