Update dependency com.formdev:flatlaf-extras to v3 #7

Open
renovate-bot wants to merge 1 commit from renovate/com.formdev-flatlaf-extras-3.x into master
Collaborator

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.formdev:flatlaf-extras 1.6.1 → 3.8 age adoption passing confidence

Release Notes

JFormDesigner/FlatLaf (com.formdev:flatlaf-extras)

v3.8

Compare Source

New features and improvements
  • Added support for Oklab and linear sRGB
    color spaces to color functions mix(), tint() and shade(). (PR #​1132, issue #​1109)
  • Theme Editor: Added preview for color functions. (see PR #​1132)
  • macOS:
    • In
      full window content mode,
      FlatLaf now automatically detects Swing components in title bar area that
      process mouse events and excludes them from processing by macOS. Client
      property JComponent.titleBarCaption now also works on macOS. (PR #​1124,
      issue #​1011)
    • Add support for Cmd+Backspace and Cmd+Delete shortcuts to text
      components. (PR #​1142, issue #​1095)
  • Publish Maven/Gradle BOM (Bill of Materials) to Maven Central. Artifact ID
    is flatlaf-bom. (issue #​1146)
  • Menus: On Windows, when a screen reader (e.g. NVDA) is running, activating the
    menu bar with Alt or F10 keys now also shows the popup of the first menu.
    Otherwise, the screen reader would not announce the menu bar. (issue #​1093)
  • Slider: Added UI values Slider.trackArc and Slider.thumbArc to customize
    track and thumb corner diameter. (issue #​1041)
  • SplitPane: Support placing one-touch buttons in the center or at the end of
    the divider via UI property SplitPaneDivider.oneTouchButtonsPlacement
    (leading, center or trailing). (issue #​1116)
  • Tree: Use selection foreground color for expanded, collapsed, leaf, closed and
    open icons of selected rows (if wide selection is enabled). (issue #​925)
  • CheckBox and RadioButton: Support translating the icon via styles
    icon.xOffset and icon.yOffset (e.g. to align a scaled icon with
    icon.scale). (PR #​1067)
  • System File Chooser:
    • Support selection mode FILES_AND_DIRECTORIES on macOS (in Open dialogs).
      On other platforms, it behaves like FILES_ONLY. (PR #​1157)
    • Added UI property SystemFileChooser.preferredAppearance to control
      preferred appearance of system file dialog on macOS and Linux (flatlaf,
      light, dark or system).
  • SwingX: Added styling support to JXBusyLabel, JXDatePicker, JXHyperlink,
    JXMonthView, JXTaskPane, JXTipOfTheDay and JXTitledPanel. (PR #​1166,
    issue #​1165)
  • Extras: UI Inspector: Added FlatInspector.addInfoProvider() to allow
    applications to add custom rows to the UI inspector tooltip. (issue #​1123)
  • Added FlatMatteBorder, which is similar to MatteBorder but supports HiDPI
    scaling/painting. (issue #​1114)
  • Borders in UI defaults and styles: Added border functions
    empty(top,left,bottom,right),
    line([top,left,bottom,right,][lineColor[,lineThickness[,arc]]]) and
    matte(top,left,bottom,right,matteColor). Multiple functions separated by
    commas build a compound border (first function is outermost border), e.g.
    line(#f00), empty(4,8,4,8). Border class names with constructor parameters
    (e.g. com.myapp.MyBorder(1,0,0,0,#f00)) now also works. (issue #​1114)
Fixed bugs
  • System File Chooser:
    • Linux: Fixed deadlock when invoking java.awt.Desktop methods open(),
      browse() or mail() after a SystemFileChooser was shown at some point
      prior. (issue #​1158)
    • Fixed application hang when dragging files from the system file dialog into
      an application window (on macOS). Also fixed unusable modal dialogs shown
      from a drop handler while the system file dialog is open. (PR #​1156)
    • On macOS and Linux, do not request light/dark appearance for system file
      dialog if current L&F is not FlatLaf (e.g. Aqua). (issue #​1162)
    • macOS: Cmd+X (Cut), Cmd+C (Copy), Cmd+V (Paste), Cmd+Z
      (Undo) and Cmd+Shift+Z (Redo) did not work in text fields of file
      dialog. (issue #​1164)
  • ColorChooser: Do not use rounded border for color palette boxes. (issue #​1150)
  • FileChooser:
    • Fixed selection painting in "Details" view when theme uses rounded
      selection. (issue #​1137)
    • Directory combobox did not have rounded border. (issue #​957)
  • ScrollPane: When using rounded border and scrollpane width was near view
    width, then the horizontal scrollbar was shown even when it was not necessary.
    (issue #​1135)
  • Spinner: For button style mac (used in macOS themes), it is now possible to
    use rounded corners by setting UI property TextComponent.arc or styling
    (e.g. arc: 4). (issue #​1151)
  • TabbedPane: Titles of disabled tabs were not grayed out if title contains
    HTML. (issue #​1143)
  • Table: Fixed gaps (in table background color) between cells and grid lines
    when grid lines are shown and intercell spacing is 1 or 2, on Windows with
    scale factors 125%, 150%, 175%, etc. (issue #​581)
  • Make sure that META-INF/MANIFEST.MF is first jar entry, so that tools that
    use JarInputStream readers see Multi-Release: true. (issue #​1139)
  • Windows 11: Fixed missing popup borders in VMs without 3D acceleration and in
    remote sessions. (issues #​968 and #​1101)
  • macOS 27: Screen menu bar (apple.laf.useScreenMenuBar=true) showed only the
    Apple menu and the application menu, but no Java menus, until hovering the
    menu bar or switching to another application and back. This is a macOS issue,
    which also occurs without FlatLaf, when the menu bar is installed a bit "late"
    after application launch. FlatLaf now forces a redraw of the screen menu bar
    (requires FlatLaf native library). (PR #​1154, issue #​1153)
  • macOS 26: Disabled window animation of heavy weight popups, which made popup
    menus and tooltips look "wobbly" when they appear. (issue #​1161)
  • Native libraries: Fixed IllegalArgumentException: URI has an authority component
    trying to load native library when running application from a Windows network drive.
    (issue #​1145)
  • Extras:
    • FlatSVGIcon: Fixed wrong color when SVG uses fill="currentColor". (issue #​1144)

v3.7.2

Compare Source

  • System File Chooser:
    • macOS: Cmd+A (Select All) did not work in file dialog. (issue #​1084)
    • Block Swing input events (mouse, keyboard, etc.) while system file dialog is
      shown. (issue #​1100)
    • Windows: Fixed too small message dialogs (shown from approve callback).
      (issue #​1119)
    • Windows: Don't allow selecting non-filesystem nodes (e.g. "This PC") in
      "Select Folder" dialog. (issue #​1126)
  • macOS: Fixed missing close/iconify/maximize buttons on inactive window, if
    system appearance is dark, but application appearance is light. (issue #​1032)
  • Linux with JetBrains Runtime: Fixed mouse "jumping" to other position when
    moving window on scaled secondary screen, if using FlatLaf window decorations.
    (issue #​1103)
  • Linux with OpenJDK Project Wakefield (e.g. JetBrains JBR 25) and VM option
    -Dawt.toolkit.name=WLToolkit (issue #​1107):
    • Disabled FlatLaf window decorations because of bug
      JBR-10322.
    • Disabled System File Chooser because application hangs after closing it.
      Uses JFileChooser instead.
  • TableHeader: Fixed custom table header renderer background stops painting
    after hover interactions. (issue #​1089)
  • TextComponents: Fixed preferred width when leading/trailing components or
    icons are present. (issue #​1110)
  • Tree: Fixed repainting multi-selection when tree looses or gains focus. (issue
    #​1122)
  • JideTabbedPane: Support card tabs. (PR #​1094)
  • Native libraries in Eclipse RCP: Fixed exception when runtime path contains
    spaces. (issue #​1102)

v3.7.1

Compare Source

  • System File Chooser:
    • Update current filter before invoking approve callback and after closing
      dialog. (issue #​1065)
    • Added PatternFilter to support glob file filter (e.g. *.tar.gz) on
      Windows and on Linux, but not on macOS. (issue #​1076)
    • Fixed: System and Swing file dialogs were shown at the same time if
      application has no other displayable window. (issue #​1078)
    • On Linux: Check whether required GSettings schemas are installed to avoid
      application crash (occurred on NixOS with Plasma/KDE desktop). (issue #​1069)
  • ComboBox: Added UI property ComboBox.buttonFocusedEditableBackground. (issue
    #​1068)
  • Dialog: Some client properties (e.g. JRootPane.titleBarShowTitle) did not
    work before the dialog was made visible. (issue #​1081)
  • Popup: Fixed scrolling popup painting issue on Windows 10 when a glass pane is
    visible and frame is maximized. (issue #​1071)
  • Slider: Styling thumbSize or focusWidth did not update slider size/layout.
    (PR #​1074)
  • ToolBar: Grip disappeared when switching between Look and Feels. (issue #​1075)
  • macOS: Popups (menus and combobox lists) were not always hidden when window is
    resized. (issue #​1082)
  • Extras:
    • UI defaults inspector: Fixed NPE if color of FlatLineBorder is null. Also
      use FlatLineBorder line color as cell background color in "Value" column.
      (PR #​1080)
    • FlatDesktop: Avoid unnecessary logging if desktop is not supported (e.g.
      on NixOS with Plasma/KDE desktop).

v3.7

Compare Source

  • System File Chooser:
    • macOS: Cmd+A (Select All) did not work in file dialog. (issue #​1084)
    • Block Swing input events (mouse, keyboard, etc.) while system file dialog is
      shown. (issue #​1100)
    • Windows: Fixed too small message dialogs (shown from approve callback).
      (issue #​1119)
    • Windows: Don't allow selecting non-filesystem nodes (e.g. "This PC") in
      "Select Folder" dialog. (issue #​1126)
  • macOS: Fixed missing close/iconify/maximize buttons on inactive window, if
    system appearance is dark, but application appearance is light. (issue #​1032)
  • Linux with JetBrains Runtime: Fixed mouse "jumping" to other position when
    moving window on scaled secondary screen, if using FlatLaf window decorations.
    (issue #​1103)
  • Linux with OpenJDK Project Wakefield (e.g. JetBrains JBR 25) and VM option
    -Dawt.toolkit.name=WLToolkit (issue #​1107):
    • Disabled FlatLaf window decorations because of bug
      JBR-10322.
    • Disabled System File Chooser because application hangs after closing it.
      Uses JFileChooser instead.
  • TableHeader: Fixed custom table header renderer background stops painting
    after hover interactions. (issue #​1089)
  • TextComponents: Fixed preferred width when leading/trailing components or
    icons are present. (issue #​1110)
  • Tree: Fixed repainting multi-selection when tree looses or gains focus. (issue
    #​1122)
  • JideTabbedPane: Support card tabs. (PR #​1094)
  • Native libraries in Eclipse RCP: Fixed exception when runtime path contains
    spaces. (issue #​1102)

v3.6.2

Compare Source

New features and improvements
  • If using FlatLaf.registerCustomDefaultsSource( "com.myapp.themes" ) and
    named Java modules, it is no longer necessary to add opens com.myapp.themes;
    to module-info.java. (issue #​1026)
  • Extras: Made animated theme change (class FlatAnimatedLafChange) smoother.
Fixed bugs
  • Tree and List: Fixed painting of rounded drop backgrounds. (issue #​1023)
  • Popup: Showing tooltip in inactive window brought that window to front (made
    it active) and potentially hid the previously active window. (issue #​1037)
  • Popup: No longer reuse popup windows for menus to avoid immediately closing
    dialogs on ChromeOS. (issue #​1029)
  • macOS: Fixed window "flashing" when switching from a light to a dark theme (or
    vice versa). Especially when using animated theme changer (see
    FlatLaf Extras).
Incompatibilities
  • FlatLaf properties files are now loaded using the UTF-8 character encoding
    instead of ISO 8859-1. In usual properties files you will not notice any
    difference because they use only ASCII characters, but if you've put localized
    (non-English) texts (e.g. German umlauts) into your properties files, you need
    to convert them to UTF-8. Properties files created with the FlatLaf Theme
    Editor already use UTF-8, including in older versions. (issue #​1031)

v3.6.1

Compare Source

  • Extras: Support JSVG 2.0.0. Minimum JSVG version is now 1.6.0. (issue #​997)
  • FlatLaf window decorations (Windows 10/11 only): Improved diagonal window
    resizing on top-left and top-right window corners. Top window resize area now
    also covers iconify/maximize/close buttons. (issue #​1015)
  • ToggleButton: Styling selectedForeground did not work if foreground is
    also styled. (issue #​1017)
  • JideSplitButton: Fixed updating popup when switching theme. (issue #​1000)
  • IntelliJ Themes: Fixed logging false errors when loading 3rd party
    .theme.json files. (issue #​990)
  • Linux: Popups appeared in wrong position on multi-screen setup if primary
    display is located below or right to secondary display. (see
    NetBeans issue #​8532)
  • macOS: Fixed popup flickering after theme change. (issue #​1009)
  • macOS with JetBrains Runtime: Fixed sometimes empty popups. (issue #​1019)

v3.6

Compare Source

New features and improvements
  • If using FlatLaf.registerCustomDefaultsSource( "com.myapp.themes" ) and
    named Java modules, it is no longer necessary to add opens com.myapp.themes;
    to module-info.java. (issue #​1026)
  • Extras: Made animated theme change (class FlatAnimatedLafChange) smoother.
Fixed bugs
  • Tree and List: Fixed painting of rounded drop backgrounds. (issue #​1023)
  • Popup: Showing tooltip in inactive window brought that window to front (made
    it active) and potentially hid the previously active window. (issue #​1037)
  • Popup: No longer reuse popup windows for menus to avoid immediately closing
    dialogs on ChromeOS. (issue #​1029)
  • macOS: Fixed window "flashing" when switching from a light to a dark theme (or
    vice versa). Especially when using animated theme changer (see
    FlatLaf Extras).
Incompatibilities
  • FlatLaf properties files are now loaded using the UTF-8 character encoding
    instead of ISO 8859-1. In usual properties files you will not notice any
    difference because they use only ASCII characters, but if you've put localized
    (non-English) texts (e.g. German umlauts) into your properties files, you need
    to convert them to UTF-8. Properties files created with the FlatLaf Theme
    Editor already use UTF-8, including in older versions. (issue #​1031)

v3.5.4

Compare Source

Fixed bugs
  • HTML: Fixed NPE when using HTML text on a component with null font. (issue
    #​930; PR #​931; regression in 3.5)
  • Linux: Fixed NPE when using FlatLaf window decorations and switching theme.
    (issue #​933; regression in 3.5.3)

v3.5.3

Compare Source

Fixed bugs
  • HTML: Fixed wrong rendering if HTML text contains <style> tag with
    attributes (e.g. <style type='text/css'>). (issue #​905; regression in 3.5.1)
  • FlatLaf window decorations:
    • Windows: Fixed possible deadlock with TabbedPane in window title area in
      "full window content" mode. (issue #​909)
    • Windows: Fixed wrong layout in maximized frame after changing screen scale
      factor. (issue #​904)
    • Linux: Fixed continuous cursor toggling between resize and standard cursor
      when resizing window. (issue #​907)
    • Fixed sometimes broken window moving with SplitPane in window title area in
      "full window content" mode. (issue #​926)
  • Popup: On Windows 10, fixed misplaced popup drop shadow. (issue #​911;
    regression in 3.5)
  • Popup: Fixed NPE if GraphicsConfiguration is null on Windows. (issue #​921)
  • Theme Editor: Fixed using color picker on secondary screen.
  • Fixed detection of Windows 11 if custom exe launcher does not specify Windows
    10+ compatibility in application manifest. (issue #​916)
  • Linux: Fixed slightly different font size (or letter width) used to paint HTML
    text when default font family is Cantarell (e.g. on Fedora). (issue #​912)
Other Changes
  • Class FlatPropertiesLaf now supports FlatLaf macOS themes as base themes.

v3.5.2

Compare Source

Fixed bugs
  • Windows: Fixed repaint issues (ghosting) on some systems (probably depending
    on graphics card/driver). This is done by setting Java system property
    sun.java2d.d3d.onscreen to false (but only if sun.java2d.d3d.onscreen,
    sun.java2d.d3d and sun.java2d.noddraw are not yet set), which disables
    usage of Windows Direct3D (DirectX) onscreen surfaces. Component rendering
    still uses Direct3D. (issue #​887)
  • FlatLaf window decorations:
    • Iconify/maximize/close buttons did not fill whole title bar height, if some
      custom component in menu bar increases title bar height. (issue #​897)
    • Windows: Fixed possible application freeze when using custom component that
      overrides Component.contains(int x, int y) and invokes
      SwingUtilities.convertPoint() (or similar) from the overridden method.
      (issue #​878)
  • TextComponents: Fixed too fast scrolling in multi-line text components when
    using touchpads (e.g. on macOS). (issue #​892)
  • ToolBar: Fixed endless loop if button in Toolbar has focus and is made
    invisible. (issue #​884)
Other Changes
  • FlatLaf window decorations: Added client property JRootPane.titleBarHeight
    to allow specifying a (larger) preferred height for the title bar. (issue
    #​897)
  • Added system property flatlaf.useRoundedPopupBorder to allow disabling
    native rounded popup borders on Windows 11 and macOS. On macOS 14.4+, where
    rounded popup borders are disabled since FlatLaf 3.5 because of occasional
    problems, you can use this to enable rounded popup borders (at your risk).

v3.5.1

Compare Source

Fixed bugs
  • HTML: Fixed occasional cutoff wrapped text when using multi-line text in HTML
    tags <h1>...<h6>, <code>, <kbd>, <big>, <small> or <samp>.
    (issue #​873; regression in 3.5)
  • Popup: Fixed UnsupportedOperationException: PERPIXEL_TRANSLUCENT translucency is not supported exception on Haiku OS when showing popup (partly) outside of
    window. (issue #​869)
  • HiDPI: Fixed occasional wrong repaint areas when using
    HiDPIUtils.installHiDPIRepaintManager(). (see PR #​864)
  • Added system property flatlaf.useSubMenuSafeTriangle to allow disabling
    submenu safe triangle (PR #​490) for
    SWTSwing. (issue #​870)

v3.5

Compare Source

Fixed bugs
  • HTML: Fixed NPE when using HTML text on a component with null font. (issue
    #​930; PR #​931; regression in 3.5)
  • Linux: Fixed NPE when using FlatLaf window decorations and switching theme.
    (issue #​933; regression in 3.5.3)

v3.4.1

Compare Source

Fixed bugs
  • SplitPane: Update divider when client property JSplitPane.expandableSide
    changed.
  • TabbedPane: Fixed swapped back and forward scroll buttons when using
    TabbedPane.scrollButtonsPlacement = trailing (regression in FlatLaf 3.3).
  • Fixed missing window top border on Windows 10 in "full window content" mode.
    (issue #​809)
  • Extras:
    • FlatSVGIcon color filters now support linear gradients. (PR #​817)
    • FlatSVGIcon: Use log level CONFIG instead of SEVERE and allow
      disabling logging. (issue #​823)
    • Added support for JSplitPane.expandableSide client property to
      FlatSplitPane.
  • Native libraries: Added API version check to test whether native library
    matches the JAR (bad builds could e.g. ship a newer JAR with an older
    incompatible native library) and to test whether native methods can be invoked
    (some security software allows loading native library but blocks method
    invocation).
  • macOS: Fixed crash when running in WebSwing. (issue #​826; regression in 3.4)
Incompatibilities
  • File names of custom properties files for nested Laf classes now must include
    name of enclosing class name. E.g. nested Laf class IntelliJTheme.ThemeLaf
    used ThemeLaf.properties in previous versions, but now needs to be named
    IntelliJTheme$ThemeLaf.properties.

v3.4

Compare Source

Fixed bugs
  • SplitPane: Update divider when client property JSplitPane.expandableSide
    changed.
  • TabbedPane: Fixed swapped back and forward scroll buttons when using
    TabbedPane.scrollButtonsPlacement = trailing (regression in FlatLaf 3.3).
  • Fixed missing window top border on Windows 10 in "full window content" mode.
    (issue #​809)
  • Extras:
    • FlatSVGIcon color filters now support linear gradients. (PR #​817)
    • FlatSVGIcon: Use log level CONFIG instead of SEVERE and allow
      disabling logging. (issue #​823)
    • Added support for JSplitPane.expandableSide client property to
      FlatSplitPane.
  • Native libraries: Added API version check to test whether native library
    matches the JAR (bad builds could e.g. ship a newer JAR with an older
    incompatible native library) and to test whether native methods can be invoked
    (some security software allows loading native library but blocks method
    invocation).
  • macOS: Fixed crash when running in WebSwing. (issue #​826; regression in 3.4)
Incompatibilities
  • File names of custom properties files for nested Laf classes now must include
    name of enclosing class name. E.g. nested Laf class IntelliJTheme.ThemeLaf
    used ThemeLaf.properties in previous versions, but now needs to be named
    IntelliJTheme$ThemeLaf.properties.

v3.3

Compare Source

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.

v3.2.5

Compare Source

Fixed bugs
  • Popup: Fixed NPE if popup invoker is null on Windows 10. (issue #​753;
    regression in 3.2.1 in fix for #​626)

v3.2.4

Compare Source

Fixed bugs
  • Popup: Fixed NPE if popup invoker is null on Linux with Wayland and Java 21.
    (issue #​752; regression in 3.2.3)

v3.2.3

Compare Source

Fixed bugs
  • Popup: Popups that request focus were not shown on Linux with Wayland and Java 21.
    (issue #​752)

v3.2.2

Compare Source

Fixed bugs
  • Button: Fixed painting icon and text at wrong location when using HTML text,
    left/right vertical alignment and running in Java 19+. (issue #​746)
  • CheckBox and RadioButton: Fixed cut off right side when border is removed and
    horizontal alignment is set to right. (issue #​734)
  • TabbedPane: Fixed NPE when using focusable component as tab component and
    switching theme. (issue #​745)

v3.2.1

Compare Source

Fixed bugs
  • Fixed memory leak in
    MultiResolutionImageSupport.create(int,Dimension[],Function<Dimension,Image>),
    which caches images created by the producer function. Used by
    FlatSVGIcon.getImage() and FlatSVGUtils.createWindowIconImages(). If you
    use one of these methods, it is strongly recommended to upgrade to this
    version, because if the returned image is larger and painted very often it may
    result in an out-of-memory situation. (issue #​726)
  • FileChooser: Fixed occasional NPE in FlatShortcutsPanel on Windows. (issue
    #​718)
  • TextField: Fixed placeholder text painting, which did not respect horizontal
    alignment property of JTextField. (issue #​721)
  • Popup: Fixed drop shadow if popup overlaps a heavyweight component. (Windows
    10 only; issue #​626)

v3.2

Compare Source

Fixed bugs
  • Popup: Fixed NPE if popup invoker is null on Windows 10. (issue #​753;
    regression in 3.2.1 in fix for #​626)

v3.1.1

Compare Source

  • IntelliJ Themes:
    • Fixed too large menu item paddings and too large table/tree row heights (all
      "Material Theme UI Lite" themes; issue #​667; regression in FlatLaf 3.1).
    • Fixed too large tree row height in "Carbon", "Dark Purple", "Gray",
      "Material Design Dark", "Monokai Pro", "One Dark" and "Spacegray" themes.
  • Native libraries: Fixed IllegalArgumentException: URI scheme is not "file"
    when using FlatLaf in WebStart. (issue #​668; regression in FlatLaf 3.1)

v3.1

Compare Source

  • IntelliJ Themes:
    • Fixed too large menu item paddings and too large table/tree row heights (all
      "Material Theme UI Lite" themes; issue #​667; regression in FlatLaf 3.1).
    • Fixed too large tree row height in "Carbon", "Dark Purple", "Gray",
      "Material Design Dark", "Monokai Pro", "One Dark" and "Spacegray" themes.
  • Native libraries: Fixed IllegalArgumentException: URI scheme is not "file"
    when using FlatLaf in WebStart. (issue #​668; regression in FlatLaf 3.1)

v3.0

Compare Source

New features and improvements
  • macOS light and dark themes: The two new themes FlatMacLightLaf and
    FlatMacDarkLaf use macOS colors and look similar to native macOS controls.
    (PRs #​533, #​612 and #​607)
  • Fonts: Packaged some fonts into JARs and provide an easy way to use them
    with FlatLaf. (PRs #​545, #​614 and #​615) At the moment there are three fonts:
  • Rounded selection: Optionally use rounded selection in:
  • Tree: Hide default closed/opened/leaf icons by default. Set UI value
    Tree.showDefaultIcons to true to show them.
  • ToolBar: Hover effect for button groups. (PR #​534)
  • Icons: New modern rounded outlined icons for JFileChooser,
    JOptionPane, JPasswordField and JTree. (PR #​577)
Fixed bugs
  • FileChooser: Fixed layout of (optional) accessory component and fixed too
    large right margin. (issue #​604; regression since implementing PR #​522 in
    FlatLaf 2.3)
  • Tree:
    • Fixed missing tree lines (if enabled) for wide-selected rows. (issue #​598)
    • Fixed scaling of tree lines and fixed alignment to expand/collapse arrows.
    • Removed support for dashed tree lines. Tree.lineTypeDashed is now ignored.
  • SwingX: Fonts in JXHeader, JXMonthView, JXTaskPane and JXTitledPanel
    were not updated when changing default font.

v2.6

Compare Source

New features and improvements
  • If value of system property flatlaf.nativeLibraryPath is system, then
    System.loadLibrary(String) is used to load the native library.
  • TabbedPane: Switch and close tabs on left mouse click only. (PR #​595)
Fixed bugs
  • ComboBox and Spinner: Fixed missing arrow buttons if preferred height is zero.
    Minimum width of arrow buttons is 3/4 of default width.
  • MenuBar: Fixed NPE in FlatMenuItemRenderer.getTopLevelFont() if menu item
    does not have a parent. (issue #​600; regression since implementing #​589 in
    FlatLaf 2.5)
  • ScrollBar: Show "pressed" feedback on track/thumb only for left mouse button.
    If absolute positioning is enabled (the default), then also for middle mouse
    button.
  • Arrow buttons in ComboBox, Spinner, ScrollBar and TabbedPane: Show "pressed"
    feedback only for left mouse button.
  • ScaledImageIcon: Do not throw exceptions if image was has invalid size (e.g.
    not found). Instead, paint a red rectangle (similar to FlatSVGIcon).
  • Fixed NPE in FlatUIUtils.isCellEditor(). (issue #​601)

v2.5

Compare Source

Fixed bugs
  • Popup: Fixed NPE if popup invoker is null on Windows 10. (issue #​753;
    regression in 3.2.1 in fix for #​626)

v2.4

Compare Source

Fixed bugs
  • Popup: Fixed NPE if popup invoker is null on Linux with Wayland and Java 21.
    (issue #​752; regression in 3.2.3)

v2.3

Compare Source

Fixed bugs
  • Popup: Popups that request focus were not shown on Linux with Wayland and Java 21.
    (issue #​752)

v2.2

Compare Source

Fixed bugs
  • Button: Fixed painting icon and text at wrong location when using HTML text,
    left/right vertical alignment and running in Java 19+. (issue #​746)
  • CheckBox and RadioButton: Fixed cut off right side when border is removed and
    horizontal alignment is set to right. (issue #​734)
  • TabbedPane: Fixed NPE when using focusable component as tab component and
    switching theme. (issue #​745)

v2.1

Compare Source

Fixed bugs
  • Fixed memory leak in
    MultiResolutionImageSupport.create(int,Dimension[],Function<Dimension,Image>),
    which caches images created by the producer function. Used by
    FlatSVGIcon.getImage() and FlatSVGUtils.createWindowIconImages(). If you
    use one of these methods, it is strongly recommended to upgrade to this
    version, because if the returned image is larger and painted very often it may
    result in an out-of-memory situation. (issue #​726)
  • FileChooser: Fixed occasional NPE in FlatShortcutsPanel on Windows. (issue
    #​718)
  • TextField: Fixed placeholder text painting, which did not respect horizontal
    alignment property of JTextField. (issue #​721)
  • Popup: Fixed drop shadow if popup overlaps a heavyweight component. (Windows
    10 only; issue #​626)

v2.0.2

Compare Source

  • Native window decorations (Windows 10/11 only): Fixed rendering artifacts on
    HiDPI screens when dragging window partly offscreen and back into screen
    bounds. (issue #​477)
  • Repaint component when setting client property JComponent.outline (issue
    #​480).
  • macOS: Fixed NPE when using some icons in main menu items. (issue #​483)

v2.0.1

Compare Source

  • Fixed memory leak in Panel, Separator and ToolBarSeparator. (issue #​471;
    regression in FlatLaf 2.0)
  • ToolTip: Fixed wrong tooltip location if component overrides
    JComponent.getToolTipLocation() and wants place tooltip under mouse
    location. (issue #​468)
  • Extras: Added copy constructor to FlatSVGIcon. (issue #​465)
  • Moved module-info.class from META-INF\versions\9\ to root folder of JARs.
    (issue #​466)

v2.0

Compare Source

  • Native window decorations (Windows 10/11 only): Fixed rendering artifacts on
    HiDPI screens when dragging window partly offscreen and back into screen
    bounds. (issue #​477)
  • Repaint component when setting client property JComponent.outline (issue
    #​480).
  • macOS: Fixed NPE when using some icons in main menu items. (issue #​483)

v1.6.5

Compare Source

Fixed bugs
  • Linux: Fixed font problems when running on Oracle Java (OpenJDK is not
    affected):
    • oversized text if system font is "Inter" (issue #​427)
    • missing text if system font is "Cantarell" (on Fedora)
  • MenuItem: Changed accelerator delimiter from - to +. (Windows and Linux).
  • ComboBox: Fixed occasional StackOverflowError when modifying combo box not
    on AWT thread. (issue #​432)
  • macOS: Fixed NullPointerException when using AWT component
    java.awt.Choice. (issue #​439)
  • Native window decorations: Do not exit application with UnsatisfiedLinkError
    in case that FlatLaf DLL cannot be executed because of restrictions on
    temporary directory. Instead, continue with default window decorations. (issue
    #​436)

v1.6.4

Compare Source

Fixed bugs
  • ComboBox: Fixed regression in FlatLaf 1.6.3 that makes selected item invisible
    in popup list if DefaultListCellRenderer is used as renderer. If using
    default renderer, it works. (issue #​426)

v1.6.3

Compare Source

Fixed bugs
  • ComboBox (not editable): Fixed regression in FlatLaf 1.6.2 that may display
    text in non-editable combo boxes in bold. (issue #​423)
  • Tree: Fixed editing cell issue with custom cell renderer and cell editor that
    use same component for rendering and editing. (issue #​385)

v1.6.2

Compare Source

Fixed bugs
  • ComboBox (not editable): Fixed background painted outside of border if round
    edges are enabled (client property JComponent.roundRect is true). (similar
    to issue #​382; regression since fixing #​330 in FlatLaf 1.4)
  • ComboBox: Fixed NullPointerException, which may occur under special
    circumstances. (issue #​408)
  • Table: Do not select text in cell editor when it gets focus (when
    JTable.surrendersFocusOnKeystroke is true) and
    TextComponent.selectAllOnFocusPolicy is once (the default) or always.
    (issue #​395)
  • Linux: Fixed NPE when using java.awt.TrayIcon. (issue #​405)
  • FileChooser: Workaround for crash on Windows with Java 17 32-bit (disabled
    Windows icons). Java 17 64-bit is not affected. (issue #​403)
  • Native window decorations: Fixed layout loop, which may occur under special
    circumstances and slows down the application. (issue #​420)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [com.formdev:flatlaf-extras](https://github.com/JFormDesigner/FlatLaf) | `1.6.1` → `3.8` | ![age](https://developer.mend.io/api/mc/badges/age/maven/com.formdev:flatlaf-extras/3.8?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.formdev:flatlaf-extras/3.8?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.formdev:flatlaf-extras/1.6.1/3.8?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.formdev:flatlaf-extras/1.6.1/3.8?slim=true) | --- ### Release Notes <details> <summary>JFormDesigner/FlatLaf (com.formdev:flatlaf-extras)</summary> ### [`v3.8`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#38) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.7.2...3.8) ##### New features and improvements - Added support for [Oklab](https://bottosson.github.io/posts/oklab/) and linear sRGB color spaces to color functions `mix()`, `tint()` and `shade()`. (PR [#&#8203;1132](https://github.com/JFormDesigner/FlatLaf/issues/1132), issue [#&#8203;1109](https://github.com/JFormDesigner/FlatLaf/issues/1109)) - Theme Editor: Added preview for color functions. (see PR [#&#8203;1132](https://github.com/JFormDesigner/FlatLaf/issues/1132)) - macOS: - In [full window content mode](https://www.formdev.com/flatlaf/macos/#full_window_content), FlatLaf now automatically detects Swing components in title bar area that process mouse events and excludes them from processing by macOS. Client property `JComponent.titleBarCaption` now also works on macOS. (PR [#&#8203;1124](https://github.com/JFormDesigner/FlatLaf/issues/1124), issue [#&#8203;1011](https://github.com/JFormDesigner/FlatLaf/issues/1011)) - Add support for `Cmd+Backspace` and `Cmd+Delete` shortcuts to text components. (PR [#&#8203;1142](https://github.com/JFormDesigner/FlatLaf/issues/1142), issue [#&#8203;1095](https://github.com/JFormDesigner/FlatLaf/issues/1095)) - Publish Maven/Gradle BOM (Bill of Materials) to Maven Central. Artifact ID is `flatlaf-bom`. (issue [#&#8203;1146](https://github.com/JFormDesigner/FlatLaf/issues/1146)) - Menus: On Windows, when a screen reader (e.g. NVDA) is running, activating the menu bar with `Alt` or `F10` keys now also shows the popup of the first menu. Otherwise, the screen reader would not announce the menu bar. (issue [#&#8203;1093](https://github.com/JFormDesigner/FlatLaf/issues/1093)) - Slider: Added UI values `Slider.trackArc` and `Slider.thumbArc` to customize track and thumb corner diameter. (issue [#&#8203;1041](https://github.com/JFormDesigner/FlatLaf/issues/1041)) - SplitPane: Support placing one-touch buttons in the center or at the end of the divider via UI property `SplitPaneDivider.oneTouchButtonsPlacement` (`leading`, `center` or `trailing`). (issue [#&#8203;1116](https://github.com/JFormDesigner/FlatLaf/issues/1116)) - Tree: Use selection foreground color for expanded, collapsed, leaf, closed and open icons of selected rows (if wide selection is enabled). (issue [#&#8203;925](https://github.com/JFormDesigner/FlatLaf/issues/925)) - CheckBox and RadioButton: Support translating the icon via styles `icon.xOffset` and `icon.yOffset` (e.g. to align a scaled icon with `icon.scale`). (PR [#&#8203;1067](https://github.com/JFormDesigner/FlatLaf/issues/1067)) - System File Chooser: - Support selection mode `FILES_AND_DIRECTORIES` on macOS (in Open dialogs). On other platforms, it behaves like `FILES_ONLY`. (PR [#&#8203;1157](https://github.com/JFormDesigner/FlatLaf/issues/1157)) - Added UI property `SystemFileChooser.preferredAppearance` to control preferred appearance of system file dialog on macOS and Linux (`flatlaf`, `light`, `dark` or `system`). - SwingX: Added styling support to `JXBusyLabel`, `JXDatePicker`, `JXHyperlink`, `JXMonthView`, `JXTaskPane`, `JXTipOfTheDay` and `JXTitledPanel`. (PR [#&#8203;1166](https://github.com/JFormDesigner/FlatLaf/issues/1166), issue [#&#8203;1165](https://github.com/JFormDesigner/FlatLaf/issues/1165)) - Extras: UI Inspector: Added `FlatInspector.addInfoProvider()` to allow applications to add custom rows to the UI inspector tooltip. (issue [#&#8203;1123](https://github.com/JFormDesigner/FlatLaf/issues/1123)) - Added `FlatMatteBorder`, which is similar to `MatteBorder` but supports HiDPI scaling/painting. (issue [#&#8203;1114](https://github.com/JFormDesigner/FlatLaf/issues/1114)) - Borders in UI defaults and styles: Added border functions `empty(top,left,bottom,right)`, `line([top,left,bottom,right,][lineColor[,lineThickness[,arc]]])` and `matte(top,left,bottom,right,matteColor)`. Multiple functions separated by commas build a compound border (first function is outermost border), e.g. `line(#f00), empty(4,8,4,8)`. Border class names with constructor parameters (e.g. `com.myapp.MyBorder(1,0,0,0,#f00)`) now also works. (issue [#&#8203;1114](https://github.com/JFormDesigner/FlatLaf/issues/1114)) ##### Fixed bugs - System File Chooser: - Linux: Fixed deadlock when invoking `java.awt.Desktop` methods `open()`, `browse()` or `mail()` after a `SystemFileChooser` was shown at some point prior. (issue [#&#8203;1158](https://github.com/JFormDesigner/FlatLaf/issues/1158)) - Fixed application hang when dragging files from the system file dialog into an application window (on macOS). Also fixed unusable modal dialogs shown from a drop handler while the system file dialog is open. (PR [#&#8203;1156](https://github.com/JFormDesigner/FlatLaf/issues/1156)) - On macOS and Linux, do not request light/dark appearance for system file dialog if current L\&F is not FlatLaf (e.g. Aqua). (issue [#&#8203;1162](https://github.com/JFormDesigner/FlatLaf/issues/1162)) - macOS: `Cmd+X` (**Cut**), `Cmd+C` (**Copy**), `Cmd+V` (**Paste**), `Cmd+Z` (**Undo**) and `Cmd+Shift+Z` (**Redo**) did not work in text fields of file dialog. (issue [#&#8203;1164](https://github.com/JFormDesigner/FlatLaf/issues/1164)) - ColorChooser: Do not use rounded border for color palette boxes. (issue [#&#8203;1150](https://github.com/JFormDesigner/FlatLaf/issues/1150)) - FileChooser: - Fixed selection painting in "Details" view when theme uses rounded selection. (issue [#&#8203;1137](https://github.com/JFormDesigner/FlatLaf/issues/1137)) - Directory combobox did not have rounded border. (issue [#&#8203;957](https://github.com/JFormDesigner/FlatLaf/issues/957)) - ScrollPane: When using rounded border and scrollpane width was near view width, then the horizontal scrollbar was shown even when it was not necessary. (issue [#&#8203;1135](https://github.com/JFormDesigner/FlatLaf/issues/1135)) - Spinner: For button style `mac` (used in macOS themes), it is now possible to use rounded corners by setting UI property `TextComponent.arc` or styling (e.g. `arc: 4`). (issue [#&#8203;1151](https://github.com/JFormDesigner/FlatLaf/issues/1151)) - TabbedPane: Titles of disabled tabs were not grayed out if title contains HTML. (issue [#&#8203;1143](https://github.com/JFormDesigner/FlatLaf/issues/1143)) - Table: Fixed gaps (in table background color) between cells and grid lines when grid lines are shown and intercell spacing is 1 or 2, on Windows with scale factors 125%, 150%, 175%, etc. (issue [#&#8203;581](https://github.com/JFormDesigner/FlatLaf/issues/581)) - Make sure that `META-INF/MANIFEST.MF` is first jar entry, so that tools that use `JarInputStream` readers see `Multi-Release: true`. (issue [#&#8203;1139](https://github.com/JFormDesigner/FlatLaf/issues/1139)) - Windows 11: Fixed missing popup borders in VMs without 3D acceleration and in remote sessions. (issues [#&#8203;968](https://github.com/JFormDesigner/FlatLaf/issues/968) and [#&#8203;1101](https://github.com/JFormDesigner/FlatLaf/issues/1101)) - macOS 27: Screen menu bar (`apple.laf.useScreenMenuBar=true`) showed only the Apple menu and the application menu, but no Java menus, until hovering the menu bar or switching to another application and back. This is a macOS issue, which also occurs without FlatLaf, when the menu bar is installed a bit "late" after application launch. FlatLaf now forces a redraw of the screen menu bar (requires FlatLaf native library). (PR [#&#8203;1154](https://github.com/JFormDesigner/FlatLaf/issues/1154), issue [#&#8203;1153](https://github.com/JFormDesigner/FlatLaf/issues/1153)) - macOS 26: Disabled window animation of heavy weight popups, which made popup menus and tooltips look "wobbly" when they appear. (issue [#&#8203;1161](https://github.com/JFormDesigner/FlatLaf/issues/1161)) - Native libraries: Fixed `IllegalArgumentException: URI has an authority component` trying to load native library when running application from a Windows network drive. (issue [#&#8203;1145](https://github.com/JFormDesigner/FlatLaf/issues/1145)) - Extras: - `FlatSVGIcon`: Fixed wrong color when SVG uses `fill="currentColor"`. (issue [#&#8203;1144](https://github.com/JFormDesigner/FlatLaf/issues/1144)) ### [`v3.7.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#372) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.7.1...3.7.2) - System File Chooser: - macOS: `Cmd+A` (**Select All**) did not work in file dialog. (issue [#&#8203;1084](https://github.com/JFormDesigner/FlatLaf/issues/1084)) - Block Swing input events (mouse, keyboard, etc.) while system file dialog is shown. (issue [#&#8203;1100](https://github.com/JFormDesigner/FlatLaf/issues/1100)) - Windows: Fixed too small message dialogs (shown from approve callback). (issue [#&#8203;1119](https://github.com/JFormDesigner/FlatLaf/issues/1119)) - Windows: Don't allow selecting non-filesystem nodes (e.g. "This PC") in "Select Folder" dialog. (issue [#&#8203;1126](https://github.com/JFormDesigner/FlatLaf/issues/1126)) - macOS: Fixed missing close/iconify/maximize buttons on inactive window, if system appearance is dark, but application appearance is light. (issue [#&#8203;1032](https://github.com/JFormDesigner/FlatLaf/issues/1032)) - Linux with JetBrains Runtime: Fixed mouse "jumping" to other position when moving window on scaled secondary screen, if using FlatLaf window decorations. (issue [#&#8203;1103](https://github.com/JFormDesigner/FlatLaf/issues/1103)) - Linux with OpenJDK Project Wakefield (e.g. JetBrains JBR 25) and VM option `-Dawt.toolkit.name=WLToolkit` (issue [#&#8203;1107](https://github.com/JFormDesigner/FlatLaf/issues/1107)): - Disabled FlatLaf window decorations because of bug [JBR-10322](https://youtrack.jetbrains.com/issue/JBR-10322). - Disabled System File Chooser because application hangs after closing it. Uses `JFileChooser` instead. - TableHeader: Fixed custom table header renderer background stops painting after hover interactions. (issue [#&#8203;1089](https://github.com/JFormDesigner/FlatLaf/issues/1089)) - TextComponents: Fixed preferred width when leading/trailing components or icons are present. (issue [#&#8203;1110](https://github.com/JFormDesigner/FlatLaf/issues/1110)) - Tree: Fixed repainting multi-selection when tree looses or gains focus. (issue [#&#8203;1122](https://github.com/JFormDesigner/FlatLaf/issues/1122)) - JideTabbedPane: Support card tabs. (PR [#&#8203;1094](https://github.com/JFormDesigner/FlatLaf/issues/1094)) - Native libraries in Eclipse RCP: Fixed exception when runtime path contains spaces. (issue [#&#8203;1102](https://github.com/JFormDesigner/FlatLaf/issues/1102)) ### [`v3.7.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#371) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.7...3.7.1) - System File Chooser: - Update current filter before invoking approve callback and after closing dialog. (issue [#&#8203;1065](https://github.com/JFormDesigner/FlatLaf/issues/1065)) - Added `PatternFilter` to support glob file filter (e.g. `*.tar.gz`) on Windows and on Linux, but not on macOS. (issue [#&#8203;1076](https://github.com/JFormDesigner/FlatLaf/issues/1076)) - Fixed: System and Swing file dialogs were shown at the same time if application has no other displayable window. (issue [#&#8203;1078](https://github.com/JFormDesigner/FlatLaf/issues/1078)) - On Linux: Check whether required GSettings schemas are installed to avoid application crash (occurred on NixOS with Plasma/KDE desktop). (issue [#&#8203;1069](https://github.com/JFormDesigner/FlatLaf/issues/1069)) - ComboBox: Added UI property `ComboBox.buttonFocusedEditableBackground`. (issue [#&#8203;1068](https://github.com/JFormDesigner/FlatLaf/issues/1068)) - Dialog: Some client properties (e.g. `JRootPane.titleBarShowTitle`) did not work before the dialog was made visible. (issue [#&#8203;1081](https://github.com/JFormDesigner/FlatLaf/issues/1081)) - Popup: Fixed scrolling popup painting issue on Windows 10 when a glass pane is visible and frame is maximized. (issue [#&#8203;1071](https://github.com/JFormDesigner/FlatLaf/issues/1071)) - Slider: Styling `thumbSize` or `focusWidth` did not update slider size/layout. (PR [#&#8203;1074](https://github.com/JFormDesigner/FlatLaf/issues/1074)) - ToolBar: Grip disappeared when switching between Look and Feels. (issue [#&#8203;1075](https://github.com/JFormDesigner/FlatLaf/issues/1075)) - macOS: Popups (menus and combobox lists) were not always hidden when window is resized. (issue [#&#8203;1082](https://github.com/JFormDesigner/FlatLaf/issues/1082)) - Extras: - UI defaults inspector: Fixed NPE if color of `FlatLineBorder` is null. Also use `FlatLineBorder` line color as cell background color in "Value" column. (PR [#&#8203;1080](https://github.com/JFormDesigner/FlatLaf/issues/1080)) - `FlatDesktop`: Avoid unnecessary logging if desktop is not supported (e.g. on NixOS with Plasma/KDE desktop). ### [`v3.7`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#372) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.6.2...3.7) - System File Chooser: - macOS: `Cmd+A` (**Select All**) did not work in file dialog. (issue [#&#8203;1084](https://github.com/JFormDesigner/FlatLaf/issues/1084)) - Block Swing input events (mouse, keyboard, etc.) while system file dialog is shown. (issue [#&#8203;1100](https://github.com/JFormDesigner/FlatLaf/issues/1100)) - Windows: Fixed too small message dialogs (shown from approve callback). (issue [#&#8203;1119](https://github.com/JFormDesigner/FlatLaf/issues/1119)) - Windows: Don't allow selecting non-filesystem nodes (e.g. "This PC") in "Select Folder" dialog. (issue [#&#8203;1126](https://github.com/JFormDesigner/FlatLaf/issues/1126)) - macOS: Fixed missing close/iconify/maximize buttons on inactive window, if system appearance is dark, but application appearance is light. (issue [#&#8203;1032](https://github.com/JFormDesigner/FlatLaf/issues/1032)) - Linux with JetBrains Runtime: Fixed mouse "jumping" to other position when moving window on scaled secondary screen, if using FlatLaf window decorations. (issue [#&#8203;1103](https://github.com/JFormDesigner/FlatLaf/issues/1103)) - Linux with OpenJDK Project Wakefield (e.g. JetBrains JBR 25) and VM option `-Dawt.toolkit.name=WLToolkit` (issue [#&#8203;1107](https://github.com/JFormDesigner/FlatLaf/issues/1107)): - Disabled FlatLaf window decorations because of bug [JBR-10322](https://youtrack.jetbrains.com/issue/JBR-10322). - Disabled System File Chooser because application hangs after closing it. Uses `JFileChooser` instead. - TableHeader: Fixed custom table header renderer background stops painting after hover interactions. (issue [#&#8203;1089](https://github.com/JFormDesigner/FlatLaf/issues/1089)) - TextComponents: Fixed preferred width when leading/trailing components or icons are present. (issue [#&#8203;1110](https://github.com/JFormDesigner/FlatLaf/issues/1110)) - Tree: Fixed repainting multi-selection when tree looses or gains focus. (issue [#&#8203;1122](https://github.com/JFormDesigner/FlatLaf/issues/1122)) - JideTabbedPane: Support card tabs. (PR [#&#8203;1094](https://github.com/JFormDesigner/FlatLaf/issues/1094)) - Native libraries in Eclipse RCP: Fixed exception when runtime path contains spaces. (issue [#&#8203;1102](https://github.com/JFormDesigner/FlatLaf/issues/1102)) ### [`v3.6.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#362) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.6.1...3.6.2) ##### New features and improvements - If using `FlatLaf.registerCustomDefaultsSource( "com.myapp.themes" )` and named Java modules, it is no longer necessary to add `opens com.myapp.themes;` to `module-info.java`. (issue [#&#8203;1026](https://github.com/JFormDesigner/FlatLaf/issues/1026)) - Extras: Made animated theme change (class `FlatAnimatedLafChange`) smoother. ##### Fixed bugs - Tree and List: Fixed painting of rounded drop backgrounds. (issue [#&#8203;1023](https://github.com/JFormDesigner/FlatLaf/issues/1023)) - Popup: Showing tooltip in inactive window brought that window to front (made it active) and potentially hid the previously active window. (issue [#&#8203;1037](https://github.com/JFormDesigner/FlatLaf/issues/1037)) - Popup: No longer reuse popup windows for menus to avoid immediately closing dialogs on ChromeOS. (issue [#&#8203;1029](https://github.com/JFormDesigner/FlatLaf/issues/1029)) - macOS: Fixed window "flashing" when switching from a light to a dark theme (or vice versa). Especially when using animated theme changer (see [FlatLaf Extras](flatlaf-extras)). ##### Incompatibilities - FlatLaf properties files are now loaded using the UTF-8 character encoding instead of ISO 8859-1. In usual properties files you will not notice any difference because they use only ASCII characters, but if you've put localized (non-English) texts (e.g. German umlauts) into your properties files, you need to convert them to UTF-8. Properties files created with the FlatLaf Theme Editor already use UTF-8, including in older versions. (issue [#&#8203;1031](https://github.com/JFormDesigner/FlatLaf/issues/1031)) ### [`v3.6.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#361) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.6...3.6.1) - Extras: Support JSVG 2.0.0. Minimum JSVG version is now 1.6.0. (issue [#&#8203;997](https://github.com/JFormDesigner/FlatLaf/issues/997)) - FlatLaf window decorations (Windows 10/11 only): Improved diagonal window resizing on top-left and top-right window corners. Top window resize area now also covers iconify/maximize/close buttons. (issue [#&#8203;1015](https://github.com/JFormDesigner/FlatLaf/issues/1015)) - ToggleButton: Styling `selectedForeground` did not work if `foreground` is also styled. (issue [#&#8203;1017](https://github.com/JFormDesigner/FlatLaf/issues/1017)) - JideSplitButton: Fixed updating popup when switching theme. (issue [#&#8203;1000](https://github.com/JFormDesigner/FlatLaf/issues/1000)) - IntelliJ Themes: Fixed logging false errors when loading 3rd party `.theme.json` files. (issue [#&#8203;990](https://github.com/JFormDesigner/FlatLaf/issues/990)) - Linux: Popups appeared in wrong position on multi-screen setup if primary display is located below or right to secondary display. (see [NetBeans issue #&#8203;8532](https://github.com/apache/netbeans/issues/8532)) - macOS: Fixed popup flickering after theme change. (issue [#&#8203;1009](https://github.com/JFormDesigner/FlatLaf/issues/1009)) - macOS with JetBrains Runtime: Fixed sometimes empty popups. (issue [#&#8203;1019](https://github.com/JFormDesigner/FlatLaf/issues/1019)) ### [`v3.6`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#362) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.5.4...3.6) ##### New features and improvements - If using `FlatLaf.registerCustomDefaultsSource( "com.myapp.themes" )` and named Java modules, it is no longer necessary to add `opens com.myapp.themes;` to `module-info.java`. (issue [#&#8203;1026](https://github.com/JFormDesigner/FlatLaf/issues/1026)) - Extras: Made animated theme change (class `FlatAnimatedLafChange`) smoother. ##### Fixed bugs - Tree and List: Fixed painting of rounded drop backgrounds. (issue [#&#8203;1023](https://github.com/JFormDesigner/FlatLaf/issues/1023)) - Popup: Showing tooltip in inactive window brought that window to front (made it active) and potentially hid the previously active window. (issue [#&#8203;1037](https://github.com/JFormDesigner/FlatLaf/issues/1037)) - Popup: No longer reuse popup windows for menus to avoid immediately closing dialogs on ChromeOS. (issue [#&#8203;1029](https://github.com/JFormDesigner/FlatLaf/issues/1029)) - macOS: Fixed window "flashing" when switching from a light to a dark theme (or vice versa). Especially when using animated theme changer (see [FlatLaf Extras](flatlaf-extras)). ##### Incompatibilities - FlatLaf properties files are now loaded using the UTF-8 character encoding instead of ISO 8859-1. In usual properties files you will not notice any difference because they use only ASCII characters, but if you've put localized (non-English) texts (e.g. German umlauts) into your properties files, you need to convert them to UTF-8. Properties files created with the FlatLaf Theme Editor already use UTF-8, including in older versions. (issue [#&#8203;1031](https://github.com/JFormDesigner/FlatLaf/issues/1031)) ### [`v3.5.4`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#354) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.5.3...3.5.4) ##### Fixed bugs - HTML: Fixed NPE when using HTML text on a component with `null` font. (issue [#&#8203;930](https://github.com/JFormDesigner/FlatLaf/issues/930); PR [#&#8203;931](https://github.com/JFormDesigner/FlatLaf/issues/931); regression in 3.5) - Linux: Fixed NPE when using FlatLaf window decorations and switching theme. (issue [#&#8203;933](https://github.com/JFormDesigner/FlatLaf/issues/933); regression in 3.5.3) ### [`v3.5.3`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#353) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.5.2...3.5.3) ##### Fixed bugs - HTML: Fixed wrong rendering if HTML text contains `<style>` tag with attributes (e.g. `<style type='text/css'>`). (issue [#&#8203;905](https://github.com/JFormDesigner/FlatLaf/issues/905); regression in 3.5.1) - FlatLaf window decorations: - Windows: Fixed possible deadlock with TabbedPane in window title area in "full window content" mode. (issue [#&#8203;909](https://github.com/JFormDesigner/FlatLaf/issues/909)) - Windows: Fixed wrong layout in maximized frame after changing screen scale factor. (issue [#&#8203;904](https://github.com/JFormDesigner/FlatLaf/issues/904)) - Linux: Fixed continuous cursor toggling between resize and standard cursor when resizing window. (issue [#&#8203;907](https://github.com/JFormDesigner/FlatLaf/issues/907)) - Fixed sometimes broken window moving with SplitPane in window title area in "full window content" mode. (issue [#&#8203;926](https://github.com/JFormDesigner/FlatLaf/issues/926)) - Popup: On Windows 10, fixed misplaced popup drop shadow. (issue [#&#8203;911](https://github.com/JFormDesigner/FlatLaf/issues/911); regression in 3.5) - Popup: Fixed NPE if `GraphicsConfiguration` is `null` on Windows. (issue [#&#8203;921](https://github.com/JFormDesigner/FlatLaf/issues/921)) - Theme Editor: Fixed using color picker on secondary screen. - Fixed detection of Windows 11 if custom exe launcher does not specify Windows 10+ compatibility in application manifest. (issue [#&#8203;916](https://github.com/JFormDesigner/FlatLaf/issues/916)) - Linux: Fixed slightly different font size (or letter width) used to paint HTML text when default font family is *Cantarell* (e.g. on Fedora). (issue [#&#8203;912](https://github.com/JFormDesigner/FlatLaf/issues/912)) ##### Other Changes - Class `FlatPropertiesLaf` now supports FlatLaf macOS themes as base themes. ### [`v3.5.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#352) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.5.1...3.5.2) ##### Fixed bugs - Windows: Fixed repaint issues (ghosting) on some systems (probably depending on graphics card/driver). This is done by setting Java system property `sun.java2d.d3d.onscreen` to `false` (but only if `sun.java2d.d3d.onscreen`, `sun.java2d.d3d` and `sun.java2d.noddraw` are not yet set), which disables usage of Windows Direct3D (DirectX) onscreen surfaces. Component rendering still uses Direct3D. (issue [#&#8203;887](https://github.com/JFormDesigner/FlatLaf/issues/887)) - FlatLaf window decorations: - Iconify/maximize/close buttons did not fill whole title bar height, if some custom component in menu bar increases title bar height. (issue [#&#8203;897](https://github.com/JFormDesigner/FlatLaf/issues/897)) - Windows: Fixed possible application freeze when using custom component that overrides `Component.contains(int x, int y)` and invokes `SwingUtilities.convertPoint()` (or similar) from the overridden method. (issue [#&#8203;878](https://github.com/JFormDesigner/FlatLaf/issues/878)) - TextComponents: Fixed too fast scrolling in multi-line text components when using touchpads (e.g. on macOS). (issue [#&#8203;892](https://github.com/JFormDesigner/FlatLaf/issues/892)) - ToolBar: Fixed endless loop if button in Toolbar has focus and is made invisible. (issue [#&#8203;884](https://github.com/JFormDesigner/FlatLaf/issues/884)) ##### Other Changes - FlatLaf window decorations: Added client property `JRootPane.titleBarHeight` to allow specifying a (larger) preferred height for the title bar. (issue [#&#8203;897](https://github.com/JFormDesigner/FlatLaf/issues/897)) - Added system property `flatlaf.useRoundedPopupBorder` to allow disabling native rounded popup borders on Windows 11 and macOS. On macOS 14.4+, where rounded popup borders are disabled since FlatLaf 3.5 because of occasional problems, you can use this to enable rounded popup borders (at your risk). ### [`v3.5.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#351) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.5...3.5.1) ##### Fixed bugs - HTML: Fixed occasional cutoff wrapped text when using multi-line text in HTML tags `<h1>`...`<h6>`, `<code>`, `<kbd>`, `<big>`, `<small>` or `<samp>`. (issue [#&#8203;873](https://github.com/JFormDesigner/FlatLaf/issues/873); regression in 3.5) - Popup: Fixed `UnsupportedOperationException: PERPIXEL_TRANSLUCENT translucency is not supported` exception on Haiku OS when showing popup (partly) outside of window. (issue [#&#8203;869](https://github.com/JFormDesigner/FlatLaf/issues/869)) - HiDPI: Fixed occasional wrong repaint areas when using `HiDPIUtils.installHiDPIRepaintManager()`. (see PR [#&#8203;864](https://github.com/JFormDesigner/FlatLaf/issues/864)) - Added system property `flatlaf.useSubMenuSafeTriangle` to allow disabling submenu safe triangle (PR [#&#8203;490](https://github.com/JFormDesigner/FlatLaf/issues/490)) for [SWTSwing](https://github.com/Chrriis/SWTSwing). (issue [#&#8203;870](https://github.com/JFormDesigner/FlatLaf/issues/870)) ### [`v3.5`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#354) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.4.1...3.5) ##### Fixed bugs - HTML: Fixed NPE when using HTML text on a component with `null` font. (issue [#&#8203;930](https://github.com/JFormDesigner/FlatLaf/issues/930); PR [#&#8203;931](https://github.com/JFormDesigner/FlatLaf/issues/931); regression in 3.5) - Linux: Fixed NPE when using FlatLaf window decorations and switching theme. (issue [#&#8203;933](https://github.com/JFormDesigner/FlatLaf/issues/933); regression in 3.5.3) ### [`v3.4.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#341) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.4...3.4.1) ##### Fixed bugs - SplitPane: Update divider when client property `JSplitPane.expandableSide` changed. - TabbedPane: Fixed swapped back and forward scroll buttons when using `TabbedPane.scrollButtonsPlacement = trailing` (regression in FlatLaf 3.3). - Fixed missing window top border on Windows 10 in "full window content" mode. (issue [#&#8203;809](https://github.com/JFormDesigner/FlatLaf/issues/809)) - Extras: - `FlatSVGIcon` color filters now support linear gradients. (PR [#&#8203;817](https://github.com/JFormDesigner/FlatLaf/issues/817)) - `FlatSVGIcon`: Use log level `CONFIG` instead of `SEVERE` and allow disabling logging. (issue [#&#8203;823](https://github.com/JFormDesigner/FlatLaf/issues/823)) - Added support for `JSplitPane.expandableSide` client property to `FlatSplitPane`. - Native libraries: Added API version check to test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library) and to test whether native methods can be invoked (some security software allows loading native library but blocks method invocation). - macOS: Fixed crash when running in WebSwing. (issue [#&#8203;826](https://github.com/JFormDesigner/FlatLaf/issues/826); regression in 3.4) ##### Incompatibilities - File names of custom properties files for nested Laf classes now must include name of enclosing class name. E.g. nested Laf class `IntelliJTheme.ThemeLaf` used `ThemeLaf.properties` in previous versions, but now needs to be named `IntelliJTheme$ThemeLaf.properties`. ### [`v3.4`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#341) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.3...3.4) ##### Fixed bugs - SplitPane: Update divider when client property `JSplitPane.expandableSide` changed. - TabbedPane: Fixed swapped back and forward scroll buttons when using `TabbedPane.scrollButtonsPlacement = trailing` (regression in FlatLaf 3.3). - Fixed missing window top border on Windows 10 in "full window content" mode. (issue [#&#8203;809](https://github.com/JFormDesigner/FlatLaf/issues/809)) - Extras: - `FlatSVGIcon` color filters now support linear gradients. (PR [#&#8203;817](https://github.com/JFormDesigner/FlatLaf/issues/817)) - `FlatSVGIcon`: Use log level `CONFIG` instead of `SEVERE` and allow disabling logging. (issue [#&#8203;823](https://github.com/JFormDesigner/FlatLaf/issues/823)) - Added support for `JSplitPane.expandableSide` client property to `FlatSplitPane`. - Native libraries: Added API version check to test whether native library matches the JAR (bad builds could e.g. ship a newer JAR with an older incompatible native library) and to test whether native methods can be invoked (some security software allows loading native library but blocks method invocation). - macOS: Fixed crash when running in WebSwing. (issue [#&#8203;826](https://github.com/JFormDesigner/FlatLaf/issues/826); regression in 3.4) ##### Incompatibilities - File names of custom properties files for nested Laf classes now must include name of enclosing class name. E.g. nested Laf class `IntelliJTheme.ThemeLaf` used `ThemeLaf.properties` in previous versions, but now needs to be named `IntelliJTheme$ThemeLaf.properties`. ### [`v3.3`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#33) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2.5...3.3) ##### New features and improvements - macOS (10.14+): Popups (`JPopupMenu`, `JComboBox`, `JToolTip`, etc.) now use native macOS rounded borders. (PR [#&#8203;772](https://github.com/JFormDesigner/FlatLaf/issues/772); issue [#&#8203;715](https://github.com/JFormDesigner/FlatLaf/issues/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 [#&#8203;713](https://github.com/JFormDesigner/FlatLaf/issues/713)) - SplitPane: Support divider hover and pressed background colors. (PR [#&#8203;788](https://github.com/JFormDesigner/FlatLaf/issues/788)) - TabbedPane: Support vertical tabs. (PR [#&#8203;758](https://github.com/JFormDesigner/FlatLaf/issues/758), issue [#&#8203;633](https://github.com/JFormDesigner/FlatLaf/issues/633)) - TabbedPane: Paint rounded tab area background for rounded cards. (issue [#&#8203;717](https://github.com/JFormDesigner/FlatLaf/issues/717)) - ToolBar: Added styling properties `separatorWidth` and `separatorColor`. ##### Fixed bugs - Button and ToggleButton: Selected buttons did not use explicitly set foreground color. (issue [#&#8203;756](https://github.com/JFormDesigner/FlatLaf/issues/756)) - FileChooser: Catch NPE in Java 21 when getting icon for `.exe` files that use default Windows exe icon. (see [JDK-8320692](https://bugs.openjdk.org/browse/JDK-8320692)) - OptionPane: Fixed styling custom panel background in `JOptionPane`. (issue [#&#8203;761](https://github.com/JFormDesigner/FlatLaf/issues/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 [#&#8203;733](https://github.com/JFormDesigner/FlatLaf/issues/733) and [#&#8203;750](https://github.com/JFormDesigner/FlatLaf/issues/750)) - Fixed background of `boolean` columns when using alternating row colors. (issue [#&#8203;780](https://github.com/JFormDesigner/FlatLaf/issues/780)) - Fixed border arc of components in complex table cell editors. (issue [#&#8203;786](https://github.com/JFormDesigner/FlatLaf/issues/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 #&#8203;6835](https://github.com/apache/netbeans/issues/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 [#&#8203;790](https://github.com/JFormDesigner/FlatLaf/issues/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 #&#8203;2030](https://github.com/skylot/jadx/issues/2030)) - Fixed broken rendering after resizing window to minimum size and then increasing size again. (issue [#&#8203;767](https://github.com/JFormDesigner/FlatLaf/issues/767)) ##### Incompatibilities - Removed support for JetBrains custom decorations, which required [JetBrains Runtime](https://github.com/JetBrains/JetBrainsRuntime/wiki) (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. ### [`v3.2.5`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2.4...3.2.5) ##### Fixed bugs - Popup: Fixed NPE if popup invoker is `null` on Windows 10. (issue [#&#8203;753](https://github.com/JFormDesigner/FlatLaf/issues/753); regression in 3.2.1 in fix for [#&#8203;626](https://github.com/JFormDesigner/FlatLaf/issues/626)) ### [`v3.2.4`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#324) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2.3...3.2.4) ##### Fixed bugs - Popup: Fixed NPE if popup invoker is `null` on Linux with Wayland and Java 21. (issue [#&#8203;752](https://github.com/JFormDesigner/FlatLaf/issues/752); regression in 3.2.3) ### [`v3.2.3`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2.2...3.2.3) ##### Fixed bugs - Popup: Popups that request focus were not shown on Linux with Wayland and Java 21. (issue [#&#8203;752](https://github.com/JFormDesigner/FlatLaf/issues/752)) ### [`v3.2.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2.1...3.2.2) ##### Fixed bugs - Button: Fixed painting icon and text at wrong location when using HTML text, left/right vertical alignment and running in Java 19+. (issue [#&#8203;746](https://github.com/JFormDesigner/FlatLaf/issues/746)) - CheckBox and RadioButton: Fixed cut off right side when border is removed and horizontal alignment is set to `right`. (issue [#&#8203;734](https://github.com/JFormDesigner/FlatLaf/issues/734)) - TabbedPane: Fixed NPE when using focusable component as tab component and switching theme. (issue [#&#8203;745](https://github.com/JFormDesigner/FlatLaf/issues/745)) ### [`v3.2.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.2...3.2.1) ##### Fixed bugs - Fixed memory leak in `MultiResolutionImageSupport.create(int,Dimension[],Function<Dimension,Image>)`, which caches images created by the producer function. Used by `FlatSVGIcon.getImage()` and `FlatSVGUtils.createWindowIconImages()`. If you use one of these methods, it is **strongly recommended** to upgrade to this version, because if the returned image is larger and painted very often it may result in an out-of-memory situation. (issue [#&#8203;726](https://github.com/JFormDesigner/FlatLaf/issues/726)) - FileChooser: Fixed occasional NPE in `FlatShortcutsPanel` on Windows. (issue [#&#8203;718](https://github.com/JFormDesigner/FlatLaf/issues/718)) - TextField: Fixed placeholder text painting, which did not respect horizontal alignment property of `JTextField`. (issue [#&#8203;721](https://github.com/JFormDesigner/FlatLaf/issues/721)) - Popup: Fixed drop shadow if popup overlaps a heavyweight component. (Windows 10 only; issue [#&#8203;626](https://github.com/JFormDesigner/FlatLaf/issues/626)) ### [`v3.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.1.1...3.2) ##### Fixed bugs - Popup: Fixed NPE if popup invoker is `null` on Windows 10. (issue [#&#8203;753](https://github.com/JFormDesigner/FlatLaf/issues/753); regression in 3.2.1 in fix for [#&#8203;626](https://github.com/JFormDesigner/FlatLaf/issues/626)) ### [`v3.1.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#311) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.1...3.1.1) - IntelliJ Themes: - Fixed too large menu item paddings and too large table/tree row heights (all "Material Theme UI Lite" themes; issue [#&#8203;667](https://github.com/JFormDesigner/FlatLaf/issues/667); regression in FlatLaf 3.1). - Fixed too large tree row height in "Carbon", "Dark Purple", "Gray", "Material Design Dark", "Monokai Pro", "One Dark" and "Spacegray" themes. - Native libraries: Fixed `IllegalArgumentException: URI scheme is not "file"` when using FlatLaf in WebStart. (issue [#&#8203;668](https://github.com/JFormDesigner/FlatLaf/issues/668); regression in FlatLaf 3.1) ### [`v3.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#311) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/3.0...3.1) - IntelliJ Themes: - Fixed too large menu item paddings and too large table/tree row heights (all "Material Theme UI Lite" themes; issue [#&#8203;667](https://github.com/JFormDesigner/FlatLaf/issues/667); regression in FlatLaf 3.1). - Fixed too large tree row height in "Carbon", "Dark Purple", "Gray", "Material Design Dark", "Monokai Pro", "One Dark" and "Spacegray" themes. - Native libraries: Fixed `IllegalArgumentException: URI scheme is not "file"` when using FlatLaf in WebStart. (issue [#&#8203;668](https://github.com/JFormDesigner/FlatLaf/issues/668); regression in FlatLaf 3.1) ### [`v3.0`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#30) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.6...3.0) ##### New features and improvements - **macOS light and dark themes**: The two new themes `FlatMacLightLaf` and `FlatMacDarkLaf` use macOS colors and look similar to native macOS controls. (PRs [#&#8203;533](https://github.com/JFormDesigner/FlatLaf/issues/533), [#&#8203;612](https://github.com/JFormDesigner/FlatLaf/issues/612) and [#&#8203;607](https://github.com/JFormDesigner/FlatLaf/issues/607)) - **Fonts**: Packaged some fonts into JARs and provide an easy way to use them with FlatLaf. (PRs [#&#8203;545](https://github.com/JFormDesigner/FlatLaf/issues/545), [#&#8203;614](https://github.com/JFormDesigner/FlatLaf/issues/614) and [#&#8203;615](https://github.com/JFormDesigner/FlatLaf/issues/615)) At the moment there are three fonts: - **Inter** (<https://rsms.me/inter/>) - a typeface carefully crafted & designed for computer screens - **Roboto** (<https://fonts.google.com/specimen/Roboto>) - default font on Android and recommended for Material Design - **JetBrains Mono** (<https://www.jetbrains.com/mono>) - a monospaced typeface - **Rounded selection**: Optionally use rounded selection in: - Menus (PR [#&#8203;536](https://github.com/JFormDesigner/FlatLaf/issues/536)) - ComboBox (PR [#&#8203;548](https://github.com/JFormDesigner/FlatLaf/issues/548)) - List (PR [#&#8203;547](https://github.com/JFormDesigner/FlatLaf/issues/547)) - Tree (PR [#&#8203;546](https://github.com/JFormDesigner/FlatLaf/issues/546)) - Tree: Hide default closed/opened/leaf icons by default. Set UI value `Tree.showDefaultIcons` to `true` to show them. - ToolBar: Hover effect for button groups. (PR [#&#8203;534](https://github.com/JFormDesigner/FlatLaf/issues/534)) - Icons: New modern **rounded outlined icons** for `JFileChooser`, `JOptionPane`, `JPasswordField` and `JTree`. (PR [#&#8203;577](https://github.com/JFormDesigner/FlatLaf/issues/577)) ##### Fixed bugs - FileChooser: Fixed layout of (optional) accessory component and fixed too large right margin. (issue [#&#8203;604](https://github.com/JFormDesigner/FlatLaf/issues/604); regression since implementing PR [#&#8203;522](https://github.com/JFormDesigner/FlatLaf/issues/522) in FlatLaf 2.3) - Tree: - Fixed missing tree lines (if enabled) for wide-selected rows. (issue [#&#8203;598](https://github.com/JFormDesigner/FlatLaf/issues/598)) - Fixed scaling of tree lines and fixed alignment to expand/collapse arrows. - Removed support for dashed tree lines. `Tree.lineTypeDashed` is now ignored. - SwingX: Fonts in `JXHeader`, `JXMonthView`, `JXTaskPane` and `JXTitledPanel` were not updated when changing default font. ### [`v2.6`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#26) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.5...2.6) ##### New features and improvements - If value of system property `flatlaf.nativeLibraryPath` is `system`, then `System.loadLibrary(String)` is used to load the native library. - TabbedPane: Switch and close tabs on left mouse click only. (PR [#&#8203;595](https://github.com/JFormDesigner/FlatLaf/issues/595)) ##### Fixed bugs - ComboBox and Spinner: Fixed missing arrow buttons if preferred height is zero. Minimum width of arrow buttons is 3/4 of default width. - MenuBar: Fixed NPE in `FlatMenuItemRenderer.getTopLevelFont()` if menu item does not have a parent. (issue [#&#8203;600](https://github.com/JFormDesigner/FlatLaf/issues/600); regression since implementing [#&#8203;589](https://github.com/JFormDesigner/FlatLaf/issues/589) in FlatLaf 2.5) - ScrollBar: Show "pressed" feedback on track/thumb only for left mouse button. If absolute positioning is enabled (the default), then also for middle mouse button. - Arrow buttons in ComboBox, Spinner, ScrollBar and TabbedPane: Show "pressed" feedback only for left mouse button. - ScaledImageIcon: Do not throw exceptions if image was has invalid size (e.g. not found). Instead, paint a red rectangle (similar to `FlatSVGIcon`). - Fixed NPE in `FlatUIUtils.isCellEditor()`. (issue [#&#8203;601](https://github.com/JFormDesigner/FlatLaf/issues/601)) ### [`v2.5`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.4...2.5) ##### Fixed bugs - Popup: Fixed NPE if popup invoker is `null` on Windows 10. (issue [#&#8203;753](https://github.com/JFormDesigner/FlatLaf/issues/753); regression in 3.2.1 in fix for [#&#8203;626](https://github.com/JFormDesigner/FlatLaf/issues/626)) ### [`v2.4`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#324) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.3...2.4) ##### Fixed bugs - Popup: Fixed NPE if popup invoker is `null` on Linux with Wayland and Java 21. (issue [#&#8203;752](https://github.com/JFormDesigner/FlatLaf/issues/752); regression in 3.2.3) ### [`v2.3`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.2...2.3) ##### Fixed bugs - Popup: Popups that request focus were not shown on Linux with Wayland and Java 21. (issue [#&#8203;752](https://github.com/JFormDesigner/FlatLaf/issues/752)) ### [`v2.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.1...2.2) ##### Fixed bugs - Button: Fixed painting icon and text at wrong location when using HTML text, left/right vertical alignment and running in Java 19+. (issue [#&#8203;746](https://github.com/JFormDesigner/FlatLaf/issues/746)) - CheckBox and RadioButton: Fixed cut off right side when border is removed and horizontal alignment is set to `right`. (issue [#&#8203;734](https://github.com/JFormDesigner/FlatLaf/issues/734)) - TabbedPane: Fixed NPE when using focusable component as tab component and switching theme. (issue [#&#8203;745](https://github.com/JFormDesigner/FlatLaf/issues/745)) ### [`v2.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.0.2...2.1) ##### Fixed bugs - Fixed memory leak in `MultiResolutionImageSupport.create(int,Dimension[],Function<Dimension,Image>)`, which caches images created by the producer function. Used by `FlatSVGIcon.getImage()` and `FlatSVGUtils.createWindowIconImages()`. If you use one of these methods, it is **strongly recommended** to upgrade to this version, because if the returned image is larger and painted very often it may result in an out-of-memory situation. (issue [#&#8203;726](https://github.com/JFormDesigner/FlatLaf/issues/726)) - FileChooser: Fixed occasional NPE in `FlatShortcutsPanel` on Windows. (issue [#&#8203;718](https://github.com/JFormDesigner/FlatLaf/issues/718)) - TextField: Fixed placeholder text painting, which did not respect horizontal alignment property of `JTextField`. (issue [#&#8203;721](https://github.com/JFormDesigner/FlatLaf/issues/721)) - Popup: Fixed drop shadow if popup overlaps a heavyweight component. (Windows 10 only; issue [#&#8203;626](https://github.com/JFormDesigner/FlatLaf/issues/626)) ### [`v2.0.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#202) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.0.1...2.0.2) - Native window decorations (Windows 10/11 only): Fixed rendering artifacts on HiDPI screens when dragging window partly offscreen and back into screen bounds. (issue [#&#8203;477](https://github.com/JFormDesigner/FlatLaf/issues/477)) - Repaint component when setting client property `JComponent.outline` (issue [#&#8203;480](https://github.com/JFormDesigner/FlatLaf/issues/480)). - macOS: Fixed NPE when using some icons in main menu items. (issue [#&#8203;483](https://github.com/JFormDesigner/FlatLaf/issues/483)) ### [`v2.0.1`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#201) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/2.0...2.0.1) - Fixed memory leak in Panel, Separator and ToolBarSeparator. (issue [#&#8203;471](https://github.com/JFormDesigner/FlatLaf/issues/471); regression in FlatLaf 2.0) - ToolTip: Fixed wrong tooltip location if component overrides `JComponent.getToolTipLocation()` and wants place tooltip under mouse location. (issue [#&#8203;468](https://github.com/JFormDesigner/FlatLaf/issues/468)) - Extras: Added copy constructor to `FlatSVGIcon`. (issue [#&#8203;465](https://github.com/JFormDesigner/FlatLaf/issues/465)) - Moved `module-info.class` from `META-INF\versions\9\` to root folder of JARs. (issue [#&#8203;466](https://github.com/JFormDesigner/FlatLaf/issues/466)) ### [`v2.0`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#202) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/1.6.5...2.0) - Native window decorations (Windows 10/11 only): Fixed rendering artifacts on HiDPI screens when dragging window partly offscreen and back into screen bounds. (issue [#&#8203;477](https://github.com/JFormDesigner/FlatLaf/issues/477)) - Repaint component when setting client property `JComponent.outline` (issue [#&#8203;480](https://github.com/JFormDesigner/FlatLaf/issues/480)). - macOS: Fixed NPE when using some icons in main menu items. (issue [#&#8203;483](https://github.com/JFormDesigner/FlatLaf/issues/483)) ### [`v1.6.5`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#165) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/1.6.4...1.6.5) ##### Fixed bugs - Linux: Fixed font problems when running on Oracle Java (OpenJDK is not affected): - oversized text if system font is "Inter" (issue [#&#8203;427](https://github.com/JFormDesigner/FlatLaf/issues/427)) - missing text if system font is "Cantarell" (on Fedora) - MenuItem: Changed accelerator delimiter from `-` to `+`. (Windows and Linux). - ComboBox: Fixed occasional `StackOverflowError` when modifying combo box not on AWT thread. (issue [#&#8203;432](https://github.com/JFormDesigner/FlatLaf/issues/432)) - macOS: Fixed `NullPointerException` when using AWT component `java.awt.Choice`. (issue [#&#8203;439](https://github.com/JFormDesigner/FlatLaf/issues/439)) - Native window decorations: Do not exit application with `UnsatisfiedLinkError` in case that FlatLaf DLL cannot be executed because of restrictions on temporary directory. Instead, continue with default window decorations. (issue [#&#8203;436](https://github.com/JFormDesigner/FlatLaf/issues/436)) ### [`v1.6.4`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#164) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/1.6.3...1.6.4) ##### Fixed bugs - ComboBox: Fixed regression in FlatLaf 1.6.3 that makes selected item invisible in popup list if `DefaultListCellRenderer` is used as renderer. If using default renderer, it works. (issue [#&#8203;426](https://github.com/JFormDesigner/FlatLaf/issues/426)) ### [`v1.6.3`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#163) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/1.6.2...1.6.3) ##### Fixed bugs - ComboBox (not editable): Fixed regression in FlatLaf 1.6.2 that may display text in non-editable combo boxes in bold. (issue [#&#8203;423](https://github.com/JFormDesigner/FlatLaf/issues/423)) - Tree: Fixed editing cell issue with custom cell renderer and cell editor that use same component for rendering and editing. (issue [#&#8203;385](https://github.com/JFormDesigner/FlatLaf/issues/385)) ### [`v1.6.2`](https://github.com/JFormDesigner/FlatLaf/blob/HEAD/CHANGELOG.md#162) [Compare Source](https://github.com/JFormDesigner/FlatLaf/compare/1.6.1...1.6.2) ##### Fixed bugs - ComboBox (not editable): Fixed background painted outside of border if round edges are enabled (client property `JComponent.roundRect` is `true`). (similar to issue [#&#8203;382](https://github.com/JFormDesigner/FlatLaf/issues/382); regression since fixing [#&#8203;330](https://github.com/JFormDesigner/FlatLaf/issues/330) in FlatLaf 1.4) - ComboBox: Fixed `NullPointerException`, which may occur under special circumstances. (issue [#&#8203;408](https://github.com/JFormDesigner/FlatLaf/issues/408)) - Table: Do not select text in cell editor when it gets focus (when `JTable.surrendersFocusOnKeystroke` is `true`) and `TextComponent.selectAllOnFocusPolicy` is `once` (the default) or `always`. (issue [#&#8203;395](https://github.com/JFormDesigner/FlatLaf/issues/395)) - Linux: Fixed NPE when using `java.awt.TrayIcon`. (issue [#&#8203;405](https://github.com/JFormDesigner/FlatLaf/issues/405)) - FileChooser: Workaround for crash on Windows with Java 17 32-bit (disabled Windows icons). Java 17 64-bit is not affected. (issue [#&#8203;403](https://github.com/JFormDesigner/FlatLaf/issues/403)) - Native window decorations: Fixed layout loop, which may occur under special circumstances and slows down the application. (issue [#&#8203;420](https://github.com/JFormDesigner/FlatLaf/issues/420)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi4zIiwidXBkYXRlZEluVmVyIjoiNDQuNjUuNSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->
renovate-bot force-pushed renovate/com.formdev-flatlaf-extras-3.x from b570102a1d to 3a4208e9c0 2025-10-11 06:03:32 +01:00 Compare
renovate-bot force-pushed renovate/com.formdev-flatlaf-extras-3.x from 3a4208e9c0 to 0a162dac65 2025-12-05 05:03:27 +00:00 Compare
renovate-bot force-pushed renovate/com.formdev-flatlaf-extras-3.x from 0a162dac65 to a6fb516c27 2026-03-11 05:04:00 +00:00 Compare
renovate-bot force-pushed renovate/com.formdev-flatlaf-extras-3.x from a6fb516c27 to 557830576a 2026-07-09 13:47:48 +01:00 Compare
renovate-bot force-pushed renovate/com.formdev-flatlaf-extras-3.x from 557830576a to 6204fd92c4 2026-11-05 05:04:47 +00:00 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'renovate/com.formdev-flatlaf-extras-3.x:renovate/com.formdev-flatlaf-extras-3.x'
git switch 'renovate/com.formdev-flatlaf-extras-3.x'

Merge

Merge the changes and update on Forgejo.
git switch 'master'
git merge --no-ff 'renovate/com.formdev-flatlaf-extras-3.x'
git switch 'renovate/com.formdev-flatlaf-extras-3.x'
git rebase 'master'
git switch 'master'
git merge --ff-only 'renovate/com.formdev-flatlaf-extras-3.x'
git switch 'renovate/com.formdev-flatlaf-extras-3.x'
git rebase 'master'
git switch 'master'
git merge --no-ff 'renovate/com.formdev-flatlaf-extras-3.x'
git switch 'master'
git merge --squash 'renovate/com.formdev-flatlaf-extras-3.x'
git switch 'master'
git merge --ff-only 'renovate/com.formdev-flatlaf-extras-3.x'
git switch 'master'
git merge 'renovate/com.formdev-flatlaf-extras-3.x'
git push origin 'master'
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MobiusReactor/AW-Map!7
No description provided.