【发布时间】:2020-08-05 07:03:37
【问题描述】:
我现在正在编写用于启动游戏窗口的简单 GUI 代码。我只需要你想开始游戏消息和窗口上的开始按钮。但我对JFrame 和JPanel 有一个令人困惑的概念。实际上,我认为我需要将JPanel 添加到JFrame 以添加其他组件,例如JLabel,JButton,...等。但我意识到我实际上并不需要JPanel。我可以简单地使用add(button)、add(label) 将组件添加到JFrame。那么为什么我需要JPanel。我认为JFrame 不需要JPanel 但JPanel 需要JFrame。我理解正确吗?
【问题讨论】:
-
请阅读this... 您将希望所有 gui 元素都使用面板而不是单个框架。
-
当您在 JFrame 中添加组件时,这些组件会被添加到 JFrame 的内容窗格中。您可以使用 jFrame.getContentPane().add(button),它的行为与直接将组件添加到 JFrame 相同。
-
JFrame 的内容窗格是一个 Container 类。只有你需要一个容器来添加组件。 JPanel 是一个容器。其他一些容器就像 - JLayeredPane 等。
-
最好以
JPanel开头,为什么?因为在多个面板之间切换更容易。然后框架就充当“顶级容器”,您可以围绕它执行其他所有操作
标签: java swing jframe jpanel jcomponent