1

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

您可能需要下图:

在此处输入图像描述

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

[已解决] 2.. Line2 有一个 FlowLayout,我怎样才能让它左对齐?

3.. 每个条目都是类(称为“Preset”)并存储在称为“presetListing”的类变量数组中。当我点击新的分支按钮时,我创建了一个容量为 +1 的新数组,将所有旧的预设转移进来,并在最后一个空间中创建一个新的预设。我需要做什么才能让新条目显示在 GUI 中?我尝试将它添加到 JPanel,然后 validate(),没有工作。

希望有人能帮助我,在此先感谢!

编辑:这是#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();
}
4

1 回答 1

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));
}
于 2013-07-31T15:01:18.300 回答