相当基本的问题在这里.
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;
}
原文地址:https://www.jb51.cc/java/437243.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。