使用DefaultListModel和JList显示列表

时间:2011-10-24 16:22:04

标签: java swing jlist defaultlistmodel

我正在尝试使用DefaultListModel和JList显示项目列表,但我的窗口为空。错误是什么?

见代码:

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

1 个答案:

答案 0 :(得分:4)

第一个问题可能是您没有向框架添加任何内容。使用getContentPane().add(...)等将滚动窗格添加到框架中。

根据布局管理器的不同,您可能需要使用不同的附加参数,但使用默认的BorderLayout只需添加即可。