【发布时间】:2010-12-18 18:53:59
【问题描述】:
我读到 JFrame 是由几个窗格组成的。什么是窗格,为什么 Jframe 是由窗格组成的? 为什么有一个 JPanel 而 JFrame 看起来与 JPanel 完全一样,但是有一个菜单栏和一个关闭按钮,那么 JPanel 需要什么?谁能给我解释清楚这三个组件的定义和使用?
【问题讨论】:
我读到 JFrame 是由几个窗格组成的。什么是窗格,为什么 Jframe 是由窗格组成的? 为什么有一个 JPanel 而 JFrame 看起来与 JPanel 完全一样,但是有一个菜单栏和一个关闭按钮,那么 JPanel 需要什么?谁能给我解释清楚这三个组件的定义和使用?
【问题讨论】:
有 JFrame 等顶级容器。这些可以用作构建 GUI 的主窗口。
然后是中级容器。这些必须放在其他容器中,它们不能单独存在。它们要么帮助您组织组件,要么添加功能。 JPanel 是一个非常简单的容器,可以帮助您组织其他组件。而 JSplitPane 添加了具有两个可变大小窗格的功能。
当您有一个复杂的 GUI 时,您可能希望使用 JPanel 来组织您的 GUI 的各个区域,然后将每个面板添加到您的 JFrame。
在 Java 中,Swing API 使用Composite Design Pattern。这意味着您可以从其他对象组合非常复杂的对象,并且仍然以与简单对象相同的方式处理组合对象。因此,您可以将 JPanel 放入 JPanel 中,它的行为仍然像 JPanel。
把它想象成一个钓具箱(或针线包)。它由一个大容器制成。但是,与其将许多小物件放入这个大容器中并使其以后难以管理,不如在大盒子内放置一些较小的隔间。然后钩子和坠子等进入隔间。它更容易管理。大盒子是 JFrame,隔间是 JPanel。
【讨论】: