gpt4 book ai didi

java - GridBagLayout 是否需要空单元格的占位符面板?

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:08 25 4
gpt4 key购买 nike

我制作了一个简单的 GridBagLayout,它在单元格 (0,0)、(1,0) 和 (0,1) 中添加了按钮。

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:

Desired result

我想在未连接到现有单元格的单元格中添加一个 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);

输出:

Undesired result

JButton("3,0") 显示在单元格 (2,0) 处。我是否需要使用空的 JPanel 作为单元格 (2,0) 中的占位符?更重要的是,为什么会这样?

最佳答案

除非在 gridx = 2 中放置了一个组件,否则布局不知道应该在 2,0 处留下什么宽度。当您完成 UI 时,如果放置了任何组件,它应该看起来不错。例如:

enter image description here

在其他情况下,您可以添加背景颜色与容器背景颜色匹配的空 JPanel

关于java - GridBagLayout 是否需要空单元格的占位符面板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com