相当基本的问题在这里.
基本上我有这样的代码:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(panel2(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
Run Code Online (Sandbox Code Playgroud)
这一切都运作良好.问题是我还有另一部分要添加到中心.add(newPanel(), BorderLayout.CENTER)显然,只是使用不起作用.但你可以在JPanels中添加JPanels,对吗?
所以我做了以下改动:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(supersweetpanel(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
Run Code Online (Sandbox Code Playgroud)
随着supersweetpanel():
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
setLayout(new BorderLayout());
add(panel2(), BorderLayout.NORTH);
return sswp;
}
Run Code Online (Sandbox Code Playgroud)
现在它覆盖了panel1!如果我将它设置为其他任何东西(CENTER,SOUTH有什么东西),前两个面板完全消失.非常感谢帮助.
Mic*_*ers 13
SuperPanel可能是一个子类JPanel,对吧?你不小心加入panel2了this(the SuperPanel),而不是sswp.尝试:
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
sswp.setLayout(new BorderLayout());
sswp.add(panel2(), BorderLayout.NORTH);
return sswp;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29246 次 |
| 最近记录: |