1

我正在尝试使用 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);    
    }
} 
4

1 回答 1

4

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

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

于 2011-10-24T16:32:24.897 回答