我读到JFrame是由几个窗格组成的......什么是窗格?为什么Jframe由窗格组成? 为什么有一个JPanel,而JFrame看起来与JPanel完全一样,但是有一个菜单栏和一个关闭按钮,那么JPanel的需求是什么?任何人都可以清楚地向我解释这三个组成部分的定义和用途吗?
答案 0 :(得分:18)
有顶级容器,例如JFrame。这些可以作为构建GUI的主窗口。
然后有中级容器。这些必须放在其他容器中,它们不能自己存在。它们可以帮助您组织组件或添加功能。 JPanel是一个非常简单的容器,可以帮助您组织其他组件。虽然JSplitPane添加了具有两个可变大小窗格的功能。
当您拥有复杂的GUI时,您可能希望使用JPanel来组织GUI的各个区域,然后将每个面板添加到JFrame中。
在Java中,Swing API使用Composite Design Pattern。这意味着您可以从其他对象组合非常复杂的对象,并且仍然以与简单对象相同的方式处理复合对象。因此,您可以将JPanel放入JPanel,它仍然像JPanel一样。
把它想象成一个钓具箱(或针线包)。它由一个大容器组成。但是,不是将许多小物件放入这个大容器中并且以后难以管理,而是可以在大盒子内放置一些较小的隔间。然后钩子和沉降器等进入隔间。它更容易管理。大盒子是JFrame,隔间是JPanel。