我做了一个简单的GridBagLayout
,它在单元格(0,0),(1,0)和(0,1)中添加了按钮。GridBagLayout是否需要空单元格的占位符面板?
JPanel panelMain = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
panelMain.add(new JButton("0,0"),c);
c.gridx = 1;
c.gridy = 0;
panelMain.add(new JButton("1,0"),c);
c.gridx = 0;
c.gridy = 1;
panelMain.add(new JButton("0,1"),c);
我很高兴地看到所产生的UI:
我想在没有连接到现有单元的单元添加JButton
。我希望它被一个空白空间分开。当我尝试这个时,新的JButton
被集中在其他人旁边。这里是加法:
JPanel panelMain = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
panelMain.add(new JButton("0,0"),c);
c.gridx = 1;
c.gridy = 0;
panelMain.add(new JButton("1,0"),c);
c.gridx = 0;
c.gridy = 1;
panelMain.add(new JButton("0,1"),c);
c.gridx = 3;
c.gridy = 0;
panelMain.add(new JButton("3,0"),c);
输出:
JButton("3,0")
的是在细胞(2,0)显示。我是否需要在单元格(2,0)中使用空的JPanel
作为占位符?更重要的是,为什么会发生这种情况?