如何获取GridBagLayout的尺寸?

时间:2014-03-13 00:38:21

标签: java swing layout gridbaglayout preferredsize

我正在制作一个计算器。我使用GridBagLayout来排列按钮,到目前为止它看起来像这样:

normal calculator look

我正在尝试找到网格的确切大小,以便我可以设置JFrame的大小以匹配它。在GridBagLayout API中,我找到了三种方法:maximumLayoutSizeminimumLayoutSizepreferredLayoutSize。我尝试了所有三个并将JFrame设置为每个大小以查看它们是如何工作的:

当我查看maximumLayoutSize返回的维度时,它们是巨大的(数百万和数十亿)。

当我使用minimumLayoutSize返回的尺寸时,我得到宽度= 151,高度= 150,看起来像这样:

enter image description here

当我使用preferredLayoutSize返回的尺寸时,我得到宽度= 220,高度= 180,如下所示:

enter image description here

相反,我希望GridBagLayout的尺寸看起来很正常,就像它在第一张图片中一样。我怎样才能获得这些尺寸?

1 个答案:

答案 0 :(得分:4)

呼叫,JFrame#pack,它将根据帧装饰的需要和帧内容的首选大小打包帧。