java.lang.Object
is.codion.swing.common.ui.layout.FlexibleGridLayout
- All Implemented Interfaces:
LayoutManager,LayoutManager2
A layout manager similar to GridLayout, but allows components to maintain their preferred size.
Rows and columns can optionally be normalized to the largest size in their dimension.
Designed in Codion style with a fluent builder API.
Features: - Optional fixed row heights or column widths. - Custom horizontal and vertical gaps. - Maintains preferred component sizes when not fixed. - Safe for variable component counts and nested containers.
Author: Björn Darri Sigurðsson (with help)
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidaddLayoutComponent(Component comp, Object constraints) voidaddLayoutComponent(String name, Component comp) static FlexibleGridLayout.Builderbuilder()Returns a new builder instance for FlexibleGridLayout.floatgetLayoutAlignmentX(Container target) floatgetLayoutAlignmentY(Container target) voidinvalidateLayout(Container target) voidlayoutContainer(Container parent) maximumLayoutSize(Container target) minimumLayoutSize(Container parent) preferredLayoutSize(Container parent) void
-
Method Details
-
builder
Returns a new builder instance for FlexibleGridLayout.- Returns:
- a builder
-
layoutContainer
- Specified by:
layoutContainerin interfaceLayoutManager
-
preferredLayoutSize
- Specified by:
preferredLayoutSizein interfaceLayoutManager
-
minimumLayoutSize
- Specified by:
minimumLayoutSizein interfaceLayoutManager
-
addLayoutComponent
- Specified by:
addLayoutComponentin interfaceLayoutManager2
-
addLayoutComponent
- Specified by:
addLayoutComponentin interfaceLayoutManager
-
removeLayoutComponent
- Specified by:
removeLayoutComponentin interfaceLayoutManager
-
maximumLayoutSize
- Specified by:
maximumLayoutSizein interfaceLayoutManager2
-
getLayoutAlignmentX
- Specified by:
getLayoutAlignmentXin interfaceLayoutManager2
-
getLayoutAlignmentY
- Specified by:
getLayoutAlignmentYin interfaceLayoutManager2
-
invalidateLayout
- Specified by:
invalidateLayoutin interfaceLayoutManager2
-