gpt4 book ai didi

java - GridBagLayout 问题

转载 作者:行者123 更新时间:2023-12-02 06:16:34 25 4
gpt4 key购买 nike

我无法让 GridBagLayout 工作。

这是我想要的结果(左上)和我得到的结果(中心)的图片

enter image description here

我想要在同一行上有一个文本字段,后跟一个添加和删除按钮,然后有多个行,如左上角所示。

我对 GridBagLayout 没有太多经验,而且它开始变得非常令人沮丧。这只是我的 GUI 的一小部分。 GridBagLayout 是我想使用的布局。如何让 3 个组件 block 在 Y 轴上对齐而不是继续添加到 X 轴?

    file1_tf = new JTextField(20);
file1_tf.setEditable(false);
file_select_panel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();

gbc.gridx = 0;
gbc.gridy = 0;
file_select_panel.add(file1_tf);
gbc.gridx = 1;
gbc.gridy = 0;
file_select_panel.add(add_f1_button);
gbc.gridx = 2;
gbc.gridy = 0;
file_select_panel.add(rem_f1_button);

gbc.gridx = 0;
gbc.gridy = 1;
file_select_panel.add(file3_tf);
gbc.gridx = 1;
gbc.gridy = 1;
file_select_panel.add(add_f3_button);
gbc.gridx = 2;
gbc.gridy = 1;
file_select_panel.add(rem_f3_button);

最佳答案

有多种实现方法,但根据您的代码,最简单的方法是确保在添加组件时将 GridBagConstraints 与要添加的组件一起传递...

file_select_panel.add(file1_tf, gbc);
//...
file_select_panel.add(add_f1_button, gbc);
//...
file_select_panel.add(rem_f1_button, gbc);
//...etc...

您可能会发现仔细查看 How to Use GridBagLayout特别有助于查看标记为“指定约束”的部分

关于java - GridBagLayout 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21394894/

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