【问题标题】:Preventing JList from auto resizing防止 JList 自动调整大小
【发布时间】:2012-11-16 01:35:48
【问题描述】:

我在 JScrollPane 中有一个 JList,它放在 JPanel (BorderLayout.CENTER) 中,并将它放在另一个 JPanel 的 BorderLayout.EAST 中(这个 JPanel 的 CENTER 包含另一个 JPanel),整个 JPanel 放在 JTabbedPane 中。最初,它看起来像这样:

现在我将一些书添加到列表中:

如果我转到另一个选项卡并返回,则会发生这种情况:

我不明白的是,包含 JList 的 JPanel 设置了其最小和最大大小:

JPanel listPanel = new JPanel();
listPanel.setLayout(new BorderLayout());
listPanel.add(new JScrollPane(bookList), BorderLayout.CENTER);
listPanel.setMinimumSize(listPanel.getPreferredSize());
listPanel.setMaximumSize(listPanel.getPreferredSize());
checkOutPanel.add(listPanel, BorderLayout.EAST);

如何防止 JList 自动调整大小?

【问题讨论】:

    标签: java swing user-interface jlist preferredsize


    【解决方案1】:

    根据您尝试存档的内容,您可以使用JList#setPrototypeCellValueJList#setFixedCellWidth。这些将反馈到 PeferredScrollableViewportSize 方法,该方法将影响滚动窗格

    【讨论】:

    • 谢谢,setPrototypeCellValue 很有用!
    猜你喜欢
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 2014-09-04
    • 2015-08-21
    • 1970-01-01
    相关资源
    最近更新 更多