日期:2014-05-20  浏览次数:20599 次

求助:GridBagLayout的布局问题
我正在做一个项目,前面开发的人用的是GridBagLayout,现在必须接下去用。我希望左半部分两栏的宽度是一样的,但是因为在一边用到了三个按钮,结果明显右边的部分比较大,尝试了很多方法都没法使两边的大小一样,不知道有么有哪位能帮上忙。

具体外观如下图:



------解决方案--------------------
注意设置三个按钮的setPreferredSize(),尽量设置小点;
然后把三个按钮,先放入一个容器中,比如JPanel,也设置好setPreferredSize();
然后把JPanel再放入Grid中。

------解决方案--------------------
GridBagLayout 尊重控件的 preferredSize ,所以,解决方案 1:

检查右边所有控件的 getPreferredSize() 的宽度,找出最大的,通过设置 setPreferredSize() 的方式把此宽度设置到左边任意控件上
------解决方案--------------------
解决方案2:

使用一个一行两列的 GridLayout ,左边是一个panel用GridBagLayout,右边是一个panel用GridBagLayout,分别向其中添加控件