github JFormDesigner/FlatLaf 0.44

latest releases: 3.4.1, 3.4, fonts/inter-4.0...
3 years ago

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)

tabbedpane-wheel-scrolling3

"Show Hidden Tabs" button/popup (PR #190)

image

Scroll arrow buttons on both sides of the tab area (PR #211)

image

Closable tabs (PR #193)

image

Custom tab area components (PR #192)

image

Tab icon placement (PR #199)

image

Tab area alignment (PR #199)

image

Tab title alignment

image

Tab width mode (PR #199)

image

Minimum/maximum tab width (#199)

image

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 value TabbedPane.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 property JTabbedPane.leadingComponent or
    JTabbedPane.trailingComponent to a java.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 or JTabbedPane.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
    property JTabbedPane.tabAlignment to SwingConstants.LEADING,
    SwingConstants.TRAILING or SwingConstants.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 property JTabbedPane.tabIconPlacement to SwingConstants.LEADING,
    SwingConstants.TRAILING, SwingConstants.TOP or SwingConstants.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)

Don't miss a new FlatLaf release

NewReleases is sending notifications on new releases.