【问题标题】:Vertical scrolling of panel doesn't work java面板的垂直滚动不起作用java
【发布时间】:2014-07-11 21:26:02
【问题描述】:

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

我将面板的布局设置为 FlowLayout。 我禁用了水平滚动并将面板的宽度设置为滚动面板的宽度,因此在开始新的面板行之前,我整齐地让其中两个“表单”彼此相邻。 问题是垂直滚动没有激活,所以我只能看到 1,5 行面板。 (见图)

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

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

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

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

【问题讨论】:

  • 你将主面板的高度设置为多少?

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


【解决方案1】:

我将面板的宽度设置为滚动面板的宽度,因此在开始新的面板行之前,我可以整齐地让其中两个“表单”彼此相邻。问题是垂直滚动没有激活

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-12-06
    • 2012-06-21
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 2018-09-04
    • 1970-01-01
    相关资源
    最近更新 更多