简体   繁体   English

使用DefaultListModel和JList显示列表

[英]display list using DefaultListModel and JList

I am trying to display a list of items using DefaultListModel and JList but my window is empty. 我试图使用DefaultListModel和JList显示项目列表,但我的窗口是空的。 What is the error? 错误是什么?

see code: 看代码:

    public class ViewInventoryInterface extends JFrame {
    private Inventory theInventory; // reference to back end
    private InventoryUPCIterator iter;
    private DefaultListModel dlm;
    private JList list;
    private JScrollPane scroll;

    public ViewInventoryInterface(Inventory theInventory) {
        this.theInventory = theInventory;
        iter = theInventory.inventoryUPCIterator(); //returns an iterator for the inventory
        dlm = new DefaultListModel();
        while (iter.hasNext()) {
            dlm.addElement(iter.next().toString());
        }
        list = new JList(dlm);
        scroll = new JScrollPane(list);
        setTitle("Inventory");
        setSize(400, 400);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setLocationRelativeTo(null);
        setVisible(true);    
    }
} 

A first problem might be that you're not adding anything to your frame. 第一个问题可能是您没有向框架添加任何内容。 Use getContentPane().add(...) etc. to add your scroll pane to the frame. 使用getContentPane().add(...)等将滚动窗格添加到框架中。

Depending on the layout manager you might need to have different additional parameters but with the default BorderLayout just adding should work. 根据布局管理器的不同,您可能需要使用不同的附加参数,但使用默认的BorderLayout只需添加即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM