所以我正在制作一个项目作为学校的项目。 在这个程序中,我在一个滚动窗格内有一个面板。 单击按钮时,带有信息的面板将添加到滚动窗格内的面板中。 我可以继续添加尽可能多的这些面板。
我将面板的布局设置为FlowLayout。 我禁用了水平滚动并将面板的宽度设置为滚动窗格的宽度,因此在开始新的面板行之前,我会巧妙地将两个“窗体”彼此相邻。 问题是垂直滚动没有激活,所以我只能看到1.5行面板。 (见图)
我怀疑这与我必须定义的主面板的高度有关,如果我想设置宽度。 理想情况下,应该有一个选项可以将高度设置为“自动”,但没有。
我知道滚动有效,因为当我启用水平滚动并且没有为面板设置任何尺寸时,它只是在一行中添加表单,我可以滚动它。
我想我可能需要使用另一个LayoutManager(但我没有任何经验设置)或更改滚动窗格或主面板的某些设置。 有人可以帮我这个吗?
答案 0 :(得分:1)
我将面板的宽度设置为滚动窗格的宽度,因此在开始新的面板行之前,我会巧妙地将两个“窗体”彼此相邻。问题是垂直滚动没有激活
FlowLayout
用于水平显示组件,首选大小始终基于单行组件。
使用其他布局管理器。可能是vertical BoxLayout
,GridBagLayout
或GridLayout
,具体取决于您的具体要求。
阅读Using Layout Managers上Swing教程中的部分,了解更多信息和工作示例。
将面板的宽度设置为滚动窗格的宽度
您不应手动设置面板的首选宽度。正如我之前提到的那样,布局管理器的工作。也许GridLayout接近你需要的东西。