0

我快疯了!我正在通过一种方法将 JPanel 添加到另一个 JPanel。此方法通过 SpringLayout 生成网格。问题是在将所有 JComponents 添加到面板后,面板的首选大小为 0,因此不显示任何内容。使用另一个布局管理器解决了可见性,但我需要 SpringLayout 的结构。我找不到我的问题。

private JPanel panelErzeugen(ArrayList<JComponent> labels){
    JPanel panel = new JPanel();

    SpringLayout layout = new SpringLayout();
    panel.setLayout(layout);

    int abstandVert = 5;
    int abstandHori = 5;

    for(JComponent label : labels){
        if(labels.indexOf(label) == labels.size()/2){
            abstandVert = 100;
            abstandHori = 5;
        }

        layout.putConstraint(SpringLayout.WEST, panel, abstandVert, SpringLayout.WEST, label);
        layout.putConstraint(SpringLayout.NORTH, panel, abstandHori, SpringLayout.NORTH, label);

        panel.add(label);

        abstandHori = abstandHori + 25;
    }

    return panel;
}
4

0 回答 0