我无法让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);
答案 0 :(得分:2)
有很多方法可以实现,但基于您的代码,最简单的方法是确保在添加它们时将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帮助,尤其要看一下标有“指定约束”的部分