这是我的代码:
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;
}
随着元素添加到列表中,视图区域增长而不是受滚动条的限制。
任何帮助表示赞赏!感谢
答案 0 :(得分:4)
panel.add(list);
应该是:
panel.add(listScrollPane);
答案 1 :(得分:4)
您要将list
添加到面板中,而是需要添加listScrollPane
。
此外,在将组件添加到具有BorderLayout的JPanel时,请务必指定位置 - 例如BorderLayout.CENTER
。