【发布时间】:2015-12-16 17:17:53
【问题描述】:
我在任何地方寻求 GridBagLayout 的帮助都只对 GridBagConstraints 有帮助。我完全理解那部分,是 GridBagLayout 中的方法让我感到困惑。
所以我意识到 columnWidths 和 rowHeights 字段用于覆盖 GridBagLayout 的单元格宽度和高度,并且在用户设置之前为空。 (我在下面的程序中实现了这些字段)那么如何获得单元格的实际宽度和高度?
我基本上是在尝试覆盖容器的paint 方法,以绘制一个网格来显示每个单元格的开始和结束位置(其中gridwidth 和gridheight 无关紧要)。看起来适用的一件事是 getLayoutInfo(Container parent, int sizeflag),但 GridBagLayoutInfo 没有方法或字段,我不知道 sizeflag 是什么意思。
编辑: 这基本上是我想要绘制的网格,但我当然想确保它可以在任何以 gridlayout 为布局管理器的容器上工作。这些是以红色突出显示的实际 gridx 和 gridy 坐标。我只是不知道如何获得我需要的值来绘制方法。
【问题讨论】:
-
如果你找不到不覆盖的东西,试着找到单个按钮的组合高度(使用一个简单的循环)和每个单独按钮的组合宽度。例如,从 ctrl 到右箭头键的所有键都有一定的长度,将它们相加。接下来找到从右箭头键到删除键的高度,然后将它们全部加起来。将这些值存储在变量 (x, y) 中。
-
这行不通。每个按钮的最小网格宽度为 4。我想创建一个网格,其中每个 gridx 和 gridy 坐标都有一条线。所有 61 个 gridx 坐标和 12 个 gridy 坐标。
标签: java methods gridbaglayout column-width row-height