java – 将其他JPanel添加到JPanel

相当基本的问题在这里.

基本上我有这样的代码

public SuperPanel() {
    setLayout(new BorderLayout());
    add(panel1(),BorderLayout.norTH);
    add(panel2(),BorderLayout.CENTER);
    add(panel3(),BorderLayout.soUTH);
}

这一切都运作良好.问题是我还有另一部分要添加到中心.只是使用add(newPanel(),BorderLayout.CENTER)显然不起作用.但你可以在JPanels中添加JPanels,对吗?

所以我做了以下改动:

public SuperPanel() {
    setLayout(new BorderLayout());
    add(panel1(),BorderLayout.norTH);
    add(supersweetpanel(),BorderLayout.soUTH);
}

使用supersweetpanel():

public JPanel supersweetpanel() {
    JPanel sswp = new JPanel();
    setLayout(new BorderLayout());
    add(panel2(),BorderLayout.norTH);
    return sswp;
}

现在它覆盖了panel1!如果我将它设置为其他任何东西(中心,南方,你有什么),前两个面板完全消失.非常感谢帮助.

最佳答案
SuperPanel很可能是JPanel的子类,对吧?您不小心将panel2添加到此(SuperPanel),而不是sswp.尝试:

public JPanel supersweetpanel() {
        JPanel sswp = new JPanel();
        sswp.setLayout(new BorderLayout());
        sswp.add(panel2(),BorderLayout.norTH);
        return sswp;
    }

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...