gpt4 book ai didi

java - 向 JPanel 添加其他 JPanel

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:52:05 24 4
gpt4 key购买 nike

伙计们,这是一个相当基本的问题。

基本上我有这样的代码:

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

而且一切都很好。问题是我还有另一部分要添加到中心。显然,仅使用 add(newPanel(), BorderLayout.CENTER) 是行不通的。但是您可以在 JPanel 中添加 JPanel,对吗?

所以我做了如下改动:

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!如果我将其设置为其他任何内容(CENTERSOUTH,您有什么),前两个面板将完全消失。非常感谢您的帮助。

最佳答案

SuperPanel 很可能是 JPanel 的子类,对吧?您不小心将 panel2 添加到 this(SuperPanel),而不是 sswp。尝试:

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

关于java - 向 JPanel 添加其他 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com