作者eliang ()
看板java
标题[问题] 一个 GridBagLayout 的问题
时间Sun May 4 21:39:17 2008
Hi, 请问一下,
我想用 GridBagLayout 排出下面的面版:
┌────┬────┬────┐
│Button 1│Button 2│Button 3│
├────┴─┬──┴────┤
│ Button 4 │ Button 5 │
└──────┴───────┘
我使用以下程式码:
public static void main(String[] args)
{
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
JButton b1 = new JButton("Button 1");
JButton b2 = new JButton("Button 2");
JButton b3 = new JButton("Button 3");
JButton b4 = new JButton("Button 4");
JButton b5 = new JButton("Button 5");
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 2;
panel.add(b1, c);
c.gridx = 2;
panel.add(b2, c);
c.gridx = 4;
panel.add(b3, c);
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 3;
panel.add(b4, c);
c.gridx = 3;
panel.add(b5, c);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.setSize(400, 400);
frame.setVisible(true);
}
结果出来变成:
┌────┬────┬────┐
│Button 1│Button 2│Button 3│
├────┼────┴────┤
│Button 4│ Button 5 │
└────┴─────────┘
我想半天仍不知我错在哪里,
所以想来请教板上的各位, 先谢谢了!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.133.199
※ 编辑: eliang 来自: 220.132.133.199 (05/04 21:44)
1F:推 slalala:你没有错啊 gridbay 就是这样啊(还是我搞错 囧) 05/04 22:12
2F:→ eliang:我希望Button4和Button5的分隔线刚好位於Button2的中线 05/04 22:14
3F:推 AI3767:(2,3)最小公倍数6, 上面各占2个, 下面各占3个,应该就ok了 05/04 22:54
4F:→ eliang:我是这样写没错,上排用gridwith=2,下排用gridwith=3 05/04 23:08
5F:→ eliang:更正: 是 gridwidth 才对 05/04 23:09