将组件直接添加到JFrame,还是将它们放在JPanel中?

问题描述

将组件添加到框架时,将组件添加content pane框架的。内容窗格是一个JPanel。内容窗格的默认布局是BorderLayout。

将组件直接添加到框架时,实际上是在将组件添加到面板。因此,您具有面板的所有布局功能。因此,实际上,向框架添加组件或使用自己的面板作为框架的内容窗格没有区别。

您真正需要确定的是,是否确实出于任何原因需要访问内容窗格?请参阅Swing教程中有关使用顶级容器的部分,以获取更多信息。本教程对此主题进行了一些思考。

我不确定为什么您需要替换内容窗格的组件。如果您在该论坛上阅读过该帖子,则建议始终使用a CardLayout来交换面板,因此您永远不会直接处理内容窗格。

解决方法

我对Java
GUI有一个一般性的问题。如果我有几个要添加到JFrame的组件,我应该将它们直接放在JFrame中,还是将它们添加到JPanel,然后将面板添加到框架中?如果最好先将组件添加到JPanel,为什么?我通常这样做,然后我理解我不知道为什么/如果这是更可选的然后直接添加到框架中。JFrame还具有布局管理器,因此可以将它们放置在正确的位置。

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”