我正在设计一个包含两个按顺序排列的 ScrollPanes 的 JFrame,一个在另一个之下。我正在使用使用 GroupLayout 的 NetBeans (Matisse?) 的内置表单编辑器。
我观察到:在调整框架大小时,首先调整底部的 ScrollPane 的大小,直到它消失,然后是此 ScrollPane 上方的按钮,最后是另一个 ScrollPane。
我想要什么:当调整框架的大小时,两个 ScrollPanes 的大小都应该相同,所以如果框架的大小改变了 X,我希望两个 Scrollpanes 的大小都改变 X/2。
这可能吗?如何?(首选 GroupLayout 的解决方案)
PS:总布局包括以表格方式放置的按钮和标签。所以 GroupLayout 已经对它很有用了。
PS:似乎除了简单的布局(网格、框)之外最好的选择是 MigLayout。
让我从白皮书中引用
增长和收缩 当一个组件没有给出首选大小时会发生什么是非常可定制的。可以选择将组件划分为增长和收缩优先级组,其中较高优先级将收缩/增长,然后调整具有较低优先级的组件/行/列的大小。可以设置这些组内的增长权重,以指定如何在该优先级组中的组件/行/列之间分配可用空间或收缩。...
PS2:我现在正在使用 MigLayout,它是如此强大,我想再次推荐它。顺便提一句。我发现他们的备忘单非常有用(解释了所有选项)。他们网站上的演示也包含许多示例和源代码。使用 MigLayout 可以轻松解决这里的问题和许多其他问题。