Java的FlowLayout没有正确调整大小

Jea*_*ach 6 java layout swing

JFrame用a BorderLayout和a 创建了一个初始化JScrollPaneCENTER元素.

滚动窗格设置为VERTICAL_SCROLLBAR_ALWAYSHORIZONTAL_SCROLLBAR_NEVER策略.我的意图frame是控制宽度,而高度应该随着数据的添加/删除而增长/缩小.

在我的内部scroll pane,我添加了一个简单的JPanel(让我们称之为内容面板),它是用FlowLayout(和LEADING策略)初始化的.

为了测试这个,我只content panel用20个JLabel("Item " + n)组件填充我n的循环计数器.

labels如果frame足够大,我希望看到我在单行显示,当缩小宽度时标签会换行到其他行.但相反,只有一行显示没有包装......永远.

有没有人知道为什么在涉及flow layout时不包裹scroll pane

如果我将scroll pane所有全部移除并content panel直接放入frame,则会发生所需的包裹效果,但如果frame高度缩小小于content panel高度则会消失.

我的想法是,我希望labels在必要时将其包裹起来,但如果必须向上/向下滚动,也始终可见.

对于如何解决这个问题,有任何的建议吗?

谢谢.

cam*_*ckr 9

Wrap Layout提供了解释和解决方案.