Java 网格布局问题

Java 网格布局问题,java,swing,layout,jtextarea,gridbaglayout,Java,Swing,Layout,Jtextarea,Gridbaglayout,我无法让GridBagLayout工作 这是我想要的结果(左上)和我得到的结果(中间)的图片 我希望在同一行上有一个文本字段,后跟一个添加和删除按钮,然后有多行,如左上角所示 我对GridBagLayout没有太多的经验,它开始变得非常令人沮丧。这只是我GUI的一小部分GridBagLayout是我想要使用的布局。如何使3个组件块在Y轴上对齐,而不继续添加到X轴 file1_tf = new JTextField(20); file1_tf.setEditable(false)

我无法让
GridBagLayout
工作

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

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

我对
GridBagLayout
没有太多的经验,它开始变得非常令人沮丧。这只是我GUI的一小部分
GridBagLayout
是我想要使用的布局。如何使3个组件块在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...

您可能会发现仔细查看帮助,尤其是“指定约束”部分。太尴尬了。欢迎来到我的世界;)