JavaAwtSwing布局管理器LayoutManager
| # | 布局管理器 | 描述 |
|---|
| 1 | FlowLayout | 流式布局,按组件加入的顺序,按水平方向排列,排满一行换下一行继续排列。 |
| 2 | GridLayout | 网格布局,把Container按指定行列数分隔出若干网格,每一个网格按顺序放置一个控件。 |
| 3 | GridBagLayout | 网格袋布局,按网格划分Container,每个组件可占用一个或多个网格,可将组件垂直、水平或沿它们的基线对齐。 |
| 4 | BoxLayout | 箱式布局,将Container中的多个组件按 水平 或 垂直 的方式排列。 |
| 5 | GroupLayout | 分组布局,将组件按层次分组(串行 或 并行),分别确定 组件组 在 水平 和 垂直 方向上的位置。 |
| 6 | CardLayout | 卡片布局,将Container中的每个组件看作一张卡片,一次只能显示一张卡片,默认显示第一张卡片。 |
| 7 | BorderLayout | 边界布局,把Container按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。 |
| 8 | SpringLayout | 弹性布局,通过定义组件四条边的坐标位置来实现布局。 |
| 9 | null | 绝对布局,通过设置组件在Container中的坐标位置来放置组件。 |
| 所属类包 | 布局管理器名称 | 说明 |
|---|
| Java.awt | FlowLayout(流式布局) | 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列 |
| Java.awt | BorderLayout(边界布局) | 容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。 |
| Java.awt | GridLayout(网格布局 | 容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。 |
| Java.awt | CardLayout(卡片布局) | 如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况 |
| Java.awt | GridBagLayout(网格包布局) | GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格 |
| Java.swing | BoxLayout(箱式布局) | 允许在容器中纵向或者横向放置多个控件 |
| Java.swing | SprigLayout(弹簧布局) | 根据一组约束条件放置控件 |
| 无 | 空布局 | 不使用布局管理器,按照控件自身提供的大小、位置信息放置控件 |
jdk20 LayoutManager接口已知的实现类
Interface LayoutManager All Known Subinterfaces: LayoutManager2 All
Known Implementing Classes: BasicComboBoxUI.ComboBoxLayoutManager,
BasicInternalFrameTitlePane.TitlePaneLayout,
BasicInternalFrameUI.InternalFrameLayout,
BasicOptionPaneUI.ButtonAreaLayout, BasicScrollBarUI,
BasicSplitPaneDivider.DividerLayout,
BasicSplitPaneUI.BasicHorizontalLayoutManager,
BasicSplitPaneUI.BasicVerticalLayoutManager,
BasicTabbedPaneUI.TabbedPaneLayout, BorderLayout, BoxLayout,
CardLayout, DefaultMenuLayout, FlowLayout, GridBagLayout, GridLayout,
GroupLayout, JRootPane.RootLayout, JSpinner.DateEditor,
JSpinner.DefaultEditor, JSpinner.ListEditor, JSpinner.NumberEditor,
MetalComboBoxUI.MetalComboBoxLayoutManager, MetalScrollBarUI,
MetalTabbedPaneUI.TabbedPaneLayout, OverlayLayout, ScrollPaneLayout,
ScrollPaneLayout.UIResource, SpringLayout, SynthScrollBarUI,
ViewportLayout
| 序号 | 子类名称 |
|---|
| 1 | BasicComboBoxUI.ComboBoxLayoutManager |
| 2 | BasicInternalFrameTitlePane.TitlePaneLayout |
| 3 | BasicInternalFrameUI.InternalFrameLayout |
| 4 | BasicOptionPaneUI.ButtonAreaLayout |
| 5 | BasicScrollBarUI |
| 6 | BasicSplitPaneDivider.DividerLayout |
| 7 | BasicSplitPaneUI.BasicHorizontalLayoutManager |
| 8 | BasicSplitPaneUI.BasicVerticalLayoutManager |
| 9 | BasicTabbedPaneUI.TabbedPaneLayout |
| 10 | BorderLayout |
| 11 | BoxLayout |
| 12 | CardLayout |
| 13 | DefaultMenuLayout |
| 14 | FlowLayout |
| 15 | GridBagLayout |
| 16 | GridLayout |
| 17 | GroupLayout |
| 18 | JRootPane.RootLayout |
| 19 | JSpinner.DateEditor |
| 20 | JSpinner.DefaultEditor |
| 21 | JSpinner.ListEditor |
| 22 | JSpinner.NumberEditor |
| 23 | MetalComboBoxUI.MetalComboBoxLayoutManager |
| 24 | MetalScrollBarUI |
| 25 | MetalTabbedPaneUI.TabbedPaneLayout |
| 26 | OverlayLayout |
| 27 | ScrollPaneLayout |
| 28 | ScrollPaneLayout.UIResource |
| 29 | SpringLayout |
| 30 | SynthScrollBarUI |
| 31 | ViewportLayout |