题
相反基本问题这里人
基本上我有这样的代码:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(panel2(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
和所有的工作都很好。问题是,我有另一部分我想添加到中心。刚开始使用的 add(newPanel(), BorderLayout.CENTER)
不工作,效果显着。但是你可以在JPanel
s添加JPanel
s,是否正确?
因此,我提出了以下改变:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(supersweetpanel(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
使用supersweetpanel()
感:
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
setLayout(new BorderLayout());
add(panel2(), BorderLayout.NORTH);
return sswp;
}
现在它覆盖panel1
!如果我将它设置为别的(CENTER
,SOUTH
,你有什么),前两个板完全消失。帮助是非常赞赏。
解决方案
SuperPanel
可能JPanel
的一个子类,是吗?你不小心添加panel2
到this
(在SuperPanel
),不sswp
。尝试:
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
sswp.setLayout(new BorderLayout());
sswp.add(panel2(), BorderLayout.NORTH);
return sswp;
}
不隶属于 StackOverflow