gpt4 book ai didi

java - gridbaglayout 中的权重不正确

转载 作者:行者123 更新时间:2023-12-01 14:22:01 24 4
gpt4 key购买 nike

我想使用 GridBagLayout 用 Ja​​va 制作 GUI。这就是我最终想要的:

enter image description here

因此,我按照在互联网上找到的一些说明进行操作,这是我编写的代码:

    Panel panel = new Panel();
panel.setLayout(new GridBagLayout());
GridBagConstraints gc = new GridBagConstraints();
gc.fill = GridBagConstraints.BOTH;
gc.insets = new Insets(5, 5, 5, 5);
gc.weightx = 7;
gc.weighty = 7;
panel.add(new JLabel("title"), gc, 0, 0, 2, 1);
panel.add(new JButton("button 1"), gc, 2, 0, 1, 1);
panel.add(new JButton("button 2"), gc, 3, 0, 1, 1);
panel.add(new JButton("button 3"), gc, 4, 0, 1, 1);
panel.add(new JButton("button 4"), gc, 5, 0, 1, 1);
panel.add(new JButton("button 5"), gc, 6, 0, 1, 1);
panel.add(new JLabel("subtitle"), gc, 0, 1, 7, 1);
panel.add(new JButton("list"), gc, 0, 2, 2, 4);
panel.add(new JButton("button"), gc, 0, 6, 1, 1);
panel.add(new JButton("button"), gc, 1, 6, 1, 1);
panel.add(new JButton("table"), gc, 2, 2, 5, 5);

我的功能添加:

public void add(Component component, GridBagConstraints constraints, int x, int y, int width, int height) {
constraints.gridx = x;
constraints.gridy = y;
constraints.gridwidth = width;
constraints.gridheight = height;
this.add(component, constraints);
}

但是,我最终得到了这个:

enter image description here

如您所见,表格的高度根本不占用 5 个单元格,列表的高度也不占用 4 个单元格。有谁知道为什么它会这样?谢谢。

最佳答案

如果添加以下内容,它应该可以工作:

    constraints.weightx = (double) width / 7.0;
constraints.weighty = (double) height / 7.0;

到您的添加方法。

关于java - gridbaglayout 中的权重不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458137/

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