面板的垂直滚动对java不起作用

时间:2014-05-22 17:33:39

标签: java swing jscrollpane layout-manager vertical-scrolling

所以我正在制作一个项目作为学校的项目。 在这个程序中,我在一个滚动窗格内有一个面板。 单击按钮时,带有信息的面板将添加到滚动窗格内的面板中。 我可以继续添加尽可能多的这些面板。

我将面板的布局设置为FlowLayout。 我禁用了水平滚动并将面板的宽度设置为滚动窗格的宽度,因此在开始新的面板行之前,我会巧妙地将两个“窗体”彼此相邻。 问题是垂直滚动没有激活,所以我只能看到1.5行面板。 (见图)

http://i1281.photobucket.com/albums/a518/Bas_Van_den_Steen/Screenshot2014-05-22191813_zps44483b9b.png

我怀疑这与我必须定义的主面板的高度有关,如果我想设置宽度。 理想情况下,应该有一个选项可以将高度设置为“自动”,但没有。

我知道滚动有效,因为当我启用水平滚动并且没有为面板设置任何尺寸时,它只是在一行中添加表单,我可以滚动它。

我想我可能需要使用另一个LayoutManager(但我没有任何经验设置)或更改滚动窗格或主面板的某些设置。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

  

我将面板的宽度设置为滚动窗格的宽度,因此在开始新的面板行之前,我会巧妙地将两个“窗体”彼此相邻。问题是垂直滚动没有激活

FlowLayout用于水平显示组件,首选大小始终基于单行组件。

使用其他布局管理器。可能是vertical BoxLayoutGridBagLayoutGridLayout,具体取决于您的具体要求。

阅读Using Layout Managers上Swing教程中的部分,了解更多信息和工作示例。

  

将面板的宽度设置为滚动窗格的宽度

您不应手动设置面板的首选宽度。正如我之前提到的那样,布局管理器的工作。也许GridLayout接近你需要的东西。