在此示例中,您将看到我们如何读取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