Java 尽管添加了JScrollPane,但JList视图区域仍在增长

Java 尽管添加了JScrollPane,但JList视图区域仍在增长,java,swing,jscrollpane,jlist,Java,Swing,Jscrollpane,Jlist,这是我的密码: protected JComponent createCommandHistory() { JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); listModel = new DefaultListModel(); list = new JList(listModel); list.setSelectionMode(ListSelectionModel.SI

这是我的密码:

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;   
}
当元素添加到列表中时,视图区域将增长,而不是受到滚动条的限制

感谢您的帮助!谢谢

panel.add(list);
应该是:

panel.add(listScrollPane);

您正在将
列表
添加到面板-相反,您需要添加
列表滚动窗格


此外,当向具有BorderLayout的JPanel添加组件时,请确保指定位置-例如,
BorderLayout.CENTER

不客气,很高兴额外的建议对您有所帮助。祝你好运