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 |