将其他JPanel添加到JPanel
相当基本的问题在这里。
基本上我有这样的代码:
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
! 如果我将它设置为其他任何东西( 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; }
- 如何@autowire一些bean进入JsonSerializer?
- Java Graphics:从Font构造FontMetrics,没有Graphics2D
- 在Mac OS X上运行.jar文件的脚本
- Jackson TypeReference在扩展时是否有效?
- JavaFX资源处理:在WebView中加载HTML文件
- tomcat7-maven-plugin:运行多个webapps但端口8080已经在使用中
- 如何附加到现有的java.io.ObjectStream?
- Spring的SecurityContextHolder.getContext()。getAuthentication()在HTTPS / SSL中使用RedirectView后返回null
- Java:非静态嵌套类和instance.super()