【问题标题】:How do I put space between my objects using GridBagLayout?如何使用 GridBagLayout 在对象之间放置空间?
【发布时间】:2017-03-24 11:44:05
【问题描述】:

我正在创建一个应用程序,而我正在尝试使用 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 在两个文本字段之间放置一些空格?

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

【问题讨论】:

  • 尝试在您的面板上添加边框? panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  • 这并没有做任何事情,只是在我的面板周围添加一个边框 - 对象仍然是脚趾到脚趾。

标签: java jpanel gridbaglayout


【解决方案1】:

在将文本字段添加到 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);

【讨论】:

    猜你喜欢
    • 2017-12-17
    • 1970-01-01
    • 2015-10-15
    • 2022-01-06
    • 1970-01-01
    • 2017-12-21
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多