【问题标题】:JList view area grows despite adding a JScrollPane [closed]尽管添加了 JScrollPane,但 JList 视图区域仍在增长 [关闭]
【发布时间】:2014-03-06 16:40:26
【问题描述】:

这是我的代码:

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

随着元素被添加到列表中,视图区域会扩大,而不是被滚动条限制。

感谢任何帮助!谢谢

【问题讨论】:

    标签: java swing jscrollpane jlist


    【解决方案1】:
    panel.add(list);
    

    应该是:

    panel.add(listScrollPane);
    

    【讨论】:

      【解决方案2】:

      您将list 添加到面板 - 相反,您需要添加listScrollPane

      此外,在将组件添加到具有 BorderLayout 的 JPanel 时,请务必指定位置 - 例如,BorderLayout.CENTER

      【讨论】:

      • 不客气,很高兴额外的建议对您有所帮助。祝你好运!
      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 2012-11-17
      • 2022-07-22
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      相关资源
      最近更新 更多