GridBagConstraints Java中gridwidth中的最大单元格数

问题描述

GridBagLayout 中 gridheight 和 gridweight 的最大单元格数是多少,以便我可以根据需要排列我的按钮?

解决方法

最大值基于另一行中的组件数。

例如,如果第一行有四个组件,每个组件的网格宽度为 1,那么第二行组件的最大网格宽度将为 4。

你不能只给一个组件一个随机的网格宽度,因为 GridBagLayout 不知道(默认情况下)每列的宽度应该是多少,除非一个组件被添加到一个列中。

但是,如果您为每列配置了最小宽度的 GridBagLayout,则最大宽度将取决于您分配的默认宽度数。参见:https://stackoverflow.com/a/59022153/131872 示例。它允许您定义网格大小,然后在网格内随机添加组件。