(JPanel)Panel是一个轻量级的容器,由于不是顶层的容器,故其必须放在JFrame(Frame)等高级容器上,这样就可以在一个Frame(JFrame)上通过Panel和5种界面布局管理器构建复杂的应用程序界面。
下面来介绍一下5种界面布局管理器:
BorderLayout:
这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH
、SOUTH
、EAST
、WEST
、CENTER
。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一,例如:
Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH); FLowLayout:
流布局用于安排有向流中的组件,这非常类似于段落中的文本行。流的方向取决于容器的 componentOrientation
属性,
它可能是以下两个值中的一个:
ComponentOrientation.LEFT_TO_RIGHT
ComponentOrientation.RIGHT_TO_LEFT
流布局一般用来安排面板中的按钮。它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。
GirdLayout:
GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,
一个矩形中放置一个组件。
BoxLayout:
允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。
|
用水平组件和垂直组件的不同组合嵌套多面板的作用类似于 GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。
CardLayout:
类似于图层的概念,在窗体或者面板上使用CardLayout可以把订制的UI作为一个图层,这样当有多个图层的时候就可以在图层间进行切换
类似于翻牌的效果。