当前位置:编程学习 > JAVA >>

【求助】如何用GridBagLayout实现这种布局?

我用如下代码:
gbc.gridwidth = 1;
gbc.gridheight = 2;
gbc.weighty = 1;
addButton(bs[7]);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.gridheight = 1;
addButton(bs[8]);
addButton(bs[9]);
可以实现如图所示的布局:
但我现在想让button8纵跨两行,button7 和button9处在同一列,且都为一行。我用了如下代码,但实现不了,
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.weighty = 1;
addButton(bs[7]);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.gridheight = 2;
addButton(bs[8]);
gbc.weighty=1;
gbc.gridwidth = 1;
gbc.gridheight=1;
addButton(bs[9]);只能成为如图所示:
为何我的button8不能纵跨两行呢?
GridBagLayout --------------------编程问答-------------------- 要么把页面布局器设为空
用绝对定位,setBounds(x,y,w,h)

要么就把79放在一个JPanel里面,JFrame里面添加Jpaenl和8. --------------------编程问答--------------------
引用 1 楼 AA5279AA 的回复:
要么把页面布局器设为空
用绝对定位,setBounds(x,y,w,h)

要么就把79放在一个JPanel里面,JFrame里面添加Jpaenl和8.

那位什么第一种里的7能跨两行,第二种里的8不行呢?这是什么原因? --------------------编程问答-------------------- gridx、gridy、weightx、weighty你都没有设置啊。
GridBagLayout还是挺复杂的。
java api文档里面有讲解,也有一个例子。
建议楼主把那个例子看懂,然后自己修改修改看看效果。
我也是最近刚刚学过这个,感觉挺不错的。 --------------------编程问答--------------------
引用 3 楼 abc41106 的回复:
gridx、gridy、weightx、weighty你都没有设置啊。
GridBagLayout还是挺复杂的。
java api文档里面有讲解,也有一个例子。
建议楼主把那个例子看懂,然后自己修改修改看看效果。
我也是最近刚刚学过这个,感觉挺不错的。
好吧我继续琢磨琢磨 --------------------编程问答-------------------- 看了下api,貌似用到基线什么的,但是网上基本不谈这玩意,还得慢慢研究。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,