【发布时间】:2013-04-04 02:51:39
【问题描述】:
在处理“打包”JPanel 并允许滚动条的正确方法方面,我遇到了很大的问题。
我省略了一些代码,但我相信提供的内容就足够了。
问题在于 JScrollBar 要么不显示,要么无法与之交互(如果我将滚动条设置为始终具有垂直条)。
这是一个描述这个的图像:
![不存在滚动条][1]
ProjectPanel(扩展 JPanel)具有固定大小,并且如您所见,扩展得比可见视口更远。无法获取 JPanel (ProjectSelector) 的计算高度,因为 ProjectPanels 也可以这样转换:
![他们需要填充为网格][2]
如果有人可以帮助提供有关如何执行此操作的一些见解,那就太好了。到目前为止,我不惜一切代价不使用外部 API,因为这弊大于利。
问题:
如何将首选尺寸的高度设置为“灵活”,以便在添加组件时它可以扩展?如果这不理想/不可能,我怎么能正确地让 JScrollPane 有效地显示 JPanel 的所有组件?
【问题讨论】:
-
不要设置首选尺寸选择器。滚动窗格将其用作确定何时显示其滚动条的一部分
-
@MadProgrammer,如果我不这样做,那么流布局会水平组织它们。我可以提供一个示例图像向您展示,但它不起作用。我不希望有任何水平滚动可用。
-
即。让 LayoutManager 确定面板的首选大小。
-
如果我不指定面板的宽度:i.imgur.com/a9fIJd2.png
-
@Legend 我正要解决这个问题,看看WrapLayout,它解决了这个问题
标签: java swing layout user-interface jpanel