【发布时间】:2013-12-11 00:40:55
【问题描述】:
我在一个 JFrame 中有两个 JPanel,但是当一个 JPanel 的高度大于另一个 JPanel 时,它会自动垂直居中对齐。我正在使用 GridBagLayout。尽管我设置 weighty=0,但为什么会这样?无论 Panel2 更大或更小,我应该怎么做才能将 Panel1 对齐到顶部?谢谢。
【问题讨论】:
标签: java swing gridbaglayout
我在一个 JFrame 中有两个 JPanel,但是当一个 JPanel 的高度大于另一个 JPanel 时,它会自动垂直居中对齐。我正在使用 GridBagLayout。尽管我设置 weighty=0,但为什么会这样?无论 Panel2 更大或更小,我应该怎么做才能将 Panel1 对齐到顶部?谢谢。
【问题讨论】:
标签: java swing gridbaglayout
GridBagLayout 遵循组件的首选大小。
如果您希望组件具有相同的高度,您可以使用GridBagConstraints 的fill 属性并将其设置为GridBagConstraints.HORIZONTAL,这将告诉GridBagLayout 填充给定行内的所有组件使它们符合行的高度(应该是行中最高组件的高度)
如果您只想对齐组件(到顶部),您应该将anchor 属性更改为GridBagConstraints.NORTH
【讨论】: