Skip to content

3.3

Compare
Choose a tag to compare
@DevCharly DevCharly released this 11 Jan 18:39
· 128 commits to main since this release

Highlights

macOS: native rounded borders for popups

Popups on macOS now use native macOS rounded borders (including native drop shadow):

image image

ScrollPane: Support rounded border

ScrollPane now support using rounded border. See PR #713 for information how to enable this feature.

grafik grafik

TabbedPane: Support vertical tabs

TabbedPane now supports rotated/vertical tabs:

image image

Change Log

New features and improvements

  • macOS (10.14+): Popups (JPopupMenu, JComboBox, JToolTip, etc.) now use
    native macOS rounded borders. (PR #772; issue #715)
  • Native libraries: Added libflatlaf-macos-arm64.dylib and libflatlaf-macos-x86_64.dylib.
    See also https://www.formdev.com/flatlaf/native-libraries/.
  • ScrollPane: Support rounded border. (PR #713)
  • SplitPane: Support divider hover and pressed background colors. (PR #788)
  • TabbedPane: Support vertical tabs. (PR #758, issue #633)
  • TabbedPane: Paint rounded tab area background for rounded cards. (issue #717)
  • ToolBar: Added styling properties separatorWidth and separatorColor.

Fixed bugs

  • Button and ToggleButton: Selected buttons did not use explicitly set
    foreground color. (issue 756)
  • FileChooser: Catch NPE in Java 21 when getting icon for .exe files that use
    default Windows exe icon. (see JDK-8320692)
  • OptionPane: Fixed styling custom panel background in JOptionPane. (issue #761)
  • ScrollPane: Styling ScrollPane border properties did not work if view
    component is a Table.
  • Table:
    • Switching theme looses table grid and intercell spacing. (issues #733 and #750)
    • Fixed background of boolean columns when using alternating row colors. (issue #780)
    • Fixed border arc of components in complex table cell editors. (issue #786)
  • TableHeader:
    • No longer temporary replace header cell renderer while painting. This avoids
      a StackOverflowError in case that custom renderer does this too. (see
      NetBeans issue #6835) This
      also improves compatibility with custom table header implementations.
    • Header cell renderer background/foreground colors were not restored after
      hover if renderer uses null for background/foreground. (PR #790)
  • TabbedPane:
    • Avoid unnecessary repainting whole tabbed pane content area when layouting
      leading/trailing components.
    • Avoid unnecessary repainting of selected tab on temporary changes.
    • Fixed "endless" layouting and repainting when using nested tabbed panes (top
      and bottom tab placement) and RSyntaxTextArea (with enabled line-wrapping)
      as tab content. (see jadx issue #2030)
  • Fixed broken rendering after resizing window to minimum size and then
    increasing size again. (issue #767)

Incompatibilities

  • Removed support for JetBrains custom decorations, which required
    JetBrains Runtime (JBR) 8 or 11. It did not work for JBR 17. System property
    flatlaf.useJetBrainsCustomDecorations is now ignored. Note: FlatLaf
    window decorations continue to work with JBR.