0.44
Highlights
TabbedPane improvements
It started with implementing tab scrolling using mouse wheel
and ended with one of the most powerful Swing tabbed panes...
Try the Tabs tab in the FlatLaf Demo to see it live 😉
See PRs for configuration options.
Mouse wheel scrolling (PR #187)
"Show Hidden Tabs" button/popup (PR #190)
Scroll arrow buttons on both sides of the tab area (PR #211)
Closable tabs (PR #193)
Custom tab area components (PR #192)
Tab icon placement (PR #199)
Tab area alignment (PR #199)
Tab title alignment
Tab width mode (PR #199)
Minimum/maximum tab width (#199)
Change log
New features and improvements
- TabbedPane: In scroll tab layout, added "Show Hidden Tabs" button to trailing
side of tab area. If pressed, it shows a popup menu that contains (partly)
hidden tabs and selecting one activates that tab. (PR #190; issue #40) - TabbedPane: Support forward/backward scroll arrow buttons on both sides of tab
area. Backward button on left side, forward button on right side. Not
applicable scroll buttons are hidden. (PR #211; issue #40) - TabbedPane: Support specifying default tab layout policy for all tabbed panes
in the application via UI valueTabbedPane.tabLayoutPolicy
. E.g. invoke
UIManager.put( "TabbedPane.tabLayoutPolicy", "scroll" );
to use scroll layout. - TabbedPane: Support tab scrolling with mouse wheel (in scroll tab layout). (PR #187; issue #40)
- TabbedPane: Repeat scrolling as long as scroll arrow buttons are pressed. (PR #187; issue #40)
- TabbedPane: Support adding custom components to left and right sides of tab
area. (set client propertyJTabbedPane.leadingComponent
or
JTabbedPane.trailingComponent
to ajava.awt.Component
) (PR #192; issue #40) - TabbedPane: Support closable tabs. (PR #193; issues #31 and #40)
- TabbedPane: Support minimum or maximum tab widths. (set client property
JTabbedPane.minimumTabWidth
orJTabbedPane.maximumTabWidth
to an integer) (PR #199) - TabbedPane: Support alignment of tab area. (set client property
JTabbedPane.tabAreaAlignment
to"leading"
,"trailing"
,"center"
or"fill"
) (PR #199) - TabbedPane: Support horizontal alignment of tab title and icon. (set client
propertyJTabbedPane.tabAlignment
toSwingConstants.LEADING
,
SwingConstants.TRAILING
orSwingConstants.CENTER
) - TabbedPane: Support equal and compact tab width modes. (set client property
JTabbedPane.tabWidthMode
to"preferred"
,"equal"
or"compact"
) (PR #199) - TabbedPane: Support left, right, top and bottom tab icon placement. (set
client propertyJTabbedPane.tabIconPlacement
toSwingConstants.LEADING
,
SwingConstants.TRAILING
,SwingConstants.TOP
orSwingConstants.BOTTOM
) (PR #199) - Support painting separator line between window title and content (use UI value
TitlePane.borderColor
). (issue #184) - Extras:
FlatSVGIcon
now allows specifying icon width and height in
constructors. (issue #196) - SplitPane: Hide not applicable expand/collapse buttons. Added tooltips to
expand/collapse buttons. (issue #198) - SplitPane: Added grip to divider. Can be disabled with
UIManager.put( "SplitPaneDivider.style", "plain" )
. (issue #179)
Fixed bugs
- Custom window decorations: Not visible menu bar is now ignored in layout.
- Popups using
JToolTip
components did not respect their location. (issue
#188; regression in 0.42 in fix for #164) - IntelliJ Themes: Added suffix "(Material)" to names of all Material UI Lite
themes to avoid duplicate theme names. (issue #201) - Extras:
FlatSVGIcon
icons were not painted in disabled labels and disabled
tabs. (issue #205)