如何删除JFrame中的空格

时间:2013-07-30 21:06:13

标签: java swing jframe jpanel layout-manager

我正在用Java开发GUI。我有几个问题需要帮助,希望你们中的一些人可以提供帮助。

您可能需要以下图片:

enter image description here

1 ..条目之间的空格:我想删除它。现在,每个条目都是一个JPLnel,GridLayout为2,1。每行都有另一个JPanel(line1和line2)。默认情况下,第2行是隐藏的,只应在单击编辑按钮时显示,然后再次单击时隐藏。我可以使用setVisible()更改可见性。但它创造了那么大的空间。

[已解决] 2 .. Line2有一个FlowLayout,如何让它左对齐?

3 ..每个条目都是类(称为“预设”)并存储在名为“presetListing”的类变量数组中。当我单击新的分支按钮时,我创建一个具有+1容量的新数组,传输所有旧的预设并在最后一个空格中创建一个新的预设。要使新条目显示在GUI中,我需要做什么?我尝试将它添加到JPanel然后验证(),没有用。

希望有人能帮助我,提前谢谢!

编辑: 以下是#3的代码:

private void newBranch(){
    Preset[] tempBranches = new Preset[branches.length + 1];

    for (int i = 0; i < branches.length; i++){
        tempBranches[i] = branches[i];
    }

    tempBranches[branches.length] = new Preset();
    branches = tempBranches;

    pane = new JPanel();
    pane.setLayout(new GridLayout(branches.length, 1));
    for (int i = 0; i < branches.length; i++){
        pane.add(branches[i]);
    }

    scroller = new JScrollPane(pane);
    this.add(scroller, BorderLayout.CENTER);

    this.repaint();
    this.validate();
}

1 个答案:

答案 0 :(得分:0)

这应该可以使用子面板填充面板:

for (int i = 0; i <= _listElements.size(); i++) {
_panel.add(_listElements.get(i), new GridBagConstraints(0, i, 1, 1, 0, 0,
        GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL,
        new Insets(0, 0, 0, 0), 0, 0));
}