我正在创建一个应用程序,而我试图使用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);