gpt4 book ai didi

Java - GridBagLayout/Insets 将 JLabel 放置在另一个下

转载 作者:行者123 更新时间:2023-12-01 11:10:31 25 4
gpt4 key购买 nike

我使用 GridBagLayout 并有两个 JLabels。我希望第一个出现在左上角,下一个出现在它的正下方和右侧。我使用:

    setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(10, 10, 10, 10);

JLabel jl = new JLabel("This is a JLabel!", SwingConstants.CENTER);
jl.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.ipadx = 87;
gbc.ipady = 220;
add(jl, gbc);

并且显示得很好,如第一张图片所示。然后我尝试创建并添加第二个,但我在定位第一个的下方和右侧时遇到一些麻烦。也许我对 Insets 做错了什么,因为它从顶部提供了额外的空间:

    gbc.insets = new Insets(500, 10, 10, 10);
JLabel jl2 = new JLabel("This is a JLabel!", SwingConstants.CENTER);
jl2.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.ipadx = 87;
gbc.ipady = 220;
add(jl2, gbc);

我该如何解决这个问题?谢谢

enter image description here enter image description here

最佳答案

尝试这样的事情:

    GridBagLayout gbl=new GridBagLayout();
setLayout(gbl);
GridBagConstraints gbc=new GridBagConstraints();
gbc.insets = new Insets(10, 10, 10, 10);

JLabel jl = new JLabel("This is a JLabel!", SwingConstants.CENTER);
jl.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.gridy = 0;
gbc.gridx = 0;
gbc.ipadx = 50;
gbc.ipady = 50;
add(jl, gbc);

gbc.insets = new Insets(10, 10, 10, 10);
JLabel jl2 = new JLabel("This is a JLabel!", SwingConstants.CENTER);
jl2.setBorder(BorderFactory.createLineBorder(Color.black));
gbc.gridy = 1;
gbc.gridx = 1;
gbc.ipadx = 50;
gbc.ipady = 50;
add(jl2, gbc);

使用 gridy 和 gridx 属性指定 JLabels 在 GridBagLayout-Table 中的位置。

关于Java - GridBagLayout/Insets 将 JLabel 放置在另一个下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443356/

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