Java 避免JPanel忘记另一个

Java 避免JPanel忘记另一个,java,swing,jpanel,layout-manager,border-layout,Java,Swing,Jpanel,Layout Manager,Border Layout,我试图将JPanel加载到另一个中,但我只能看到一个,其他的都隐藏在它后面。 这是我的代码: pnlResultados.setLayout(new java.awt.BorderLayout()); for (int i = 0; i < cantResultados; i++) { pResultado pr = new pResultado(modelo, resultados.get(i), padre, this); System

我试图将JPanel加载到另一个中,但我只能看到一个,其他的都隐藏在它后面。 这是我的代码:

    pnlResultados.setLayout(new java.awt.BorderLayout());

    for (int i = 0; i < cantResultados; i++) {
        pResultado pr = new pResultado(modelo, resultados.get(i), padre, this);
        System.out.println("panel");
        pnlResultados.add(pr);
        pr.setVisible(true);
    }
    pnlResultados.setVisible(true);
    pnlResultados.revalidate();
    pnlResultados.repaint();
pnlResultados.setLayout(新java.awt.BorderLayout()); 对于(int i=0;i 我使用了
System.out.printl
来查看我正在创建和插入多少窗格,这似乎还可以。问题是他们都被安置在同一个地方,一个在另一个。 我怎样才能避免这种行为?
谢谢

如果在向BorderLayout添加零部件时未指定约束,则所有零部件都会转到中心。但是,只有最后添加的组件才可见

解决方案是使用不同的布局管理器

由于要在循环中添加组件,我建议您可能需要查看
GridLayout

有关更多信息和工作示例,请阅读上Swing教程的部分

始终可以使用不同的布局管理器嵌套面板,以实现所需的布局。

另请参见