我正在创建一个应用程序,而我试图使用GridBagLayout在两个文本字段之间放置一定的距离,但是即使我将gridy变量设置为比上一个文本字段更大的值,它们也会始终显示在彼此的正下方。

我在面板中执行此操作,在我的主要方法上,单击按钮以调用面板以在主面板上显示该面板。

这是我的addPanel方法的代码:

    c.weightx = 0.5;
    c.weighty = 0.5;
    c.gridx = 0;
    c.gridy = 0;
    secondPanel.add(textField1, c);
    c.weightx = 0.5;
    c.gridx = 0;
    c.gridy = 30;
    secondPanel.add(textField2, c);


在我的主要方法上:

    c.weightx = 1.0;
    c.weighty = 1.0;
    c.insets = new Insets(6, 6, 6, 6);
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridx = 0;
    c.gridy = 0;
    c.anchor = GridBagConstraints.FIRST_LINE_START;
    firstPanel.add(addPanel.getSecondPanel(), c);


所有这些之后,即使我已指定c.gridy = 30,第二个文本字段仍保持在第一个文本字段的正下方。

我的问题是,如何使用GridBagConstraints / Layout在两个文本字段之间放置一些空间?

非常感谢您的任何帮助,谢谢。

最佳答案

将文本字段添加到secondPanel时,尝试指定一些插图:

c.insets = new Insets(5,5,5,5);
c.weightx = 0.5;
c.weighty = 0.5;
c.gridx = 0;
c.gridy = 0;
secondPanel.add(textField1, c);
c.weightx = 0.5;
c.gridx = 0;
c.gridy = 30;
secondPanel.add(textField2, c);

10-08 16:17