2014-03-06 36 views
2

這是我的代碼:JList的視圖區域生長儘管添加一個JScrollPane

protected JComponent createCommandHistory() { 
    JPanel panel = new JPanel(); 
    panel.setLayout(new BorderLayout()); 

    listModel = new DefaultListModel(); 
    list = new JList(listModel); 

    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    list.addListSelectionListener(this); 
    list.setVisibleRowCount(10); 

    JScrollPane listScrollPane = new JScrollPane(list); 

    panel.add(list); 
    panel.add(new JSeparator(JSeparator.HORIZONTAL), BorderLayout.SOUTH); 
    panel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); 

    return panel; 
} 

作爲元素被添加到列表中,觀看區域生長,而不是由一個滾輪的限制。

任何幫助表示讚賞!由於

回答

4
panel.add(list); 

應該是:

panel.add(listScrollPane); 
+0

謝謝,它的作品! – MMP

4

要添加的list到面板 - 相反,你需要添加listScrollPane

另外,向具有BorderLayout的JPanel添加組件時,請務必指定位置 - 例如BorderLayout.CENTER

+0

謝謝,我會的! – MMP

+0

不客氣,很高興額外的建議是有幫助的。祝你好運! –