Skip to content

Releases: JFormDesigner/FlatLaf

1.6.4

16 Nov 15:03
Compare
Choose a tag to compare

Change log

  • 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)

1.6.3

14 Nov 22:29
Compare
Choose a tag to compare

Change log

  • 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)

1.6.2

11 Nov 12:07
Compare
Choose a tag to compare

Note: There is a regression in this release that may display text in non-editable combo boxes in bold. (issue #423)
Please wait for FlatLaf 1.6.3 before updating...

Change log

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)

1.6.1

14 Oct 20:59
Compare
Choose a tag to compare

Change log

Fixed bugs

  • Native window decorations: Catch UnsatisfiedLinkError when trying to load
    jawt.dll to avoid an application crash (Java 8 on Windows 10 only).

1.6

14 Sep 13:25
Compare
Choose a tag to compare
1.6

This release brings some minor improvements and bug fixes.

Change log

New features and improvements

  • InternalFrame: Double-click on icon in internal frame title bar now closes the
    internal frame. (issue #374)
  • IntelliJ Themes: Removed deprecated install() methods.

Fixed bugs

  • Menus: Fixed missing modifiers flags in ActionEvent (e.g. Ctrl key
    pressed) when running in Java 9+ on Linux, macOS. Occurs also on Windows in
    large popup menus that do not fit into the window. (issue #371; regression since FlatLaf 1.3)
  • OptionPane: Fixed OptionPane.sameSizeButtons, which did not work as expected
    when setting to false.
  • OptionPane: Fixed rendering of longer HTML text if it is passed as
    StringBuilder, StringBuffer, or any other object that returns HTML text in
    method toString(). (similar to issue #12)
  • ComboBox: Fixed popup border painting on HiDPI screens (e.g. at 150% scaling).
  • ComboBox: Fixed popup location if shown above of combo box (Java 8 only).
  • ComboBox (editable): Fixed wrong border of internal text field under special circumstances.
  • Spinner: Fixed painting of border corners on left side. (issue #382; regression since FlatLaf 1.4)
  • TableHeader: Do not show resize cursor for last column if resizing last column
    is not possible because auto resize mode of table is not off. (issue #332)
  • TableHeader: Fixed missing trailing vertical separator line if used in upper
    left corner of scroll pane. (issue #332)
  • TextField, FormattedTextField, PasswordField and ComboBox: Fixed alignment of
    placeholder text in right-to-left component orientation.
  • Slider: Fixed calculation of baseline, which was wrong under some circumstances.

1.5

04 Aug 13:51
Compare
Choose a tag to compare
1.5

This release brings some minor improvements and bug fixes.

Users of the Windows 10 native window decorations are recommended
to update to this release because it fixes an occasional application crash.

Change log

New features and improvements

  • SwingX: Added search and clear icons to JXSearchField. (issue #359)

Fixed bugs

  • Button and TextComponent: Do not apply minimum width/height if margins are
    set. (issue #364)
  • ComboBox and Spinner: Limit arrow button width if component has large
    preferred height. (issue #361)
  • FileChooser: Fixed missing (localized) texts when FlatLaf is loaded in special
    classloader (e.g. plugin system in Apache NetBeans).
  • InternalFrame: Limit internal frame bounds to parent bounds on resize. Also
    honor maximum size of internal frame. (issue #362)
  • Popup: Fixed incorrectly placed drop shadow for medium-weight popups in
    maximized windows. (issue #358)
  • Native window decorations (Windows 10 only):
    • Fixed occasional application crash in flatlaf-windows.dll. (issue #357)
    • When window is initially shown, fill background with window background color
      (instead of white), which avoids flickering in dark themes. (issue 339)
    • When resizing a window at the right/bottom edge, then first fill the new
      space with the window background color (instead of black) before the layout
      is updated.
    • When resizing a window at the left/top edge, then first fill the new space
      with the window background color (instead of garbage) before the layout is
      updated.

1.4

13 Jul 09:29
Compare
Choose a tag to compare
1.4

Change log

New features and improvements

  • TextField, FormattedTextField and PasswordField: Support adding extra padding.
    (set client property JTextField.padding to Insets).
  • PasswordField: UI delegate FlatPasswordFieldUI now extends FlatTextFieldUI
    (instead of BasicPasswordFieldUI) to avoid duplicate code and for easier extensibility.
  • Table and PopupFactory: Use StackWalker in Java 9+ for better performance. (issue #334)
  • ToolBar: Paint focus indicator for focused button in toolbar. (issue #346)
  • ToolBar: Support focusable buttons in toolbar (set UI values
    ToolBar.focusableButtons to true). (issue #346)

Fixed bugs

  • ComboBox (editable) and Spinner: Increased size of internal text field to the
    component border so that it behaves like plain text field (mouse click to left
    of text now positions caret to first character instead of opening ComboBox
    popup; mouse cursor is now of type "text" within the whole component, except
    for arrow buttons). (issue #330)
  • ComboBox (not editable): Increased size of internal renderer pane to the
    component border so that it can paint within the whole component. Also
    increase combo box size if a custom renderer uses a border with insets that
    are larger than the default combo box padding (2,6,2,6).
  • Fixed component heights at 1.25x, 1.75x and 2.25x scaling factors (Java
    8 only) so that Button, ComboBox, Spinner and TextField components (including
    subclasses) have same heights. This increases heights of Button and TextField
    components by:
    • 2px at 1.75x in Light and Dark themes
    • 2px at 1.25x and 2.25x in IntelliJ and Darcula themes
  • OptionPane: Do not make child components, which are derived from JPanel, non-opaque. (issue #349)
  • OptionPane: Align wrapped lines to the right if component orientation is right-to-left. (issue #350)
  • PasswordField: Caps lock icon no longer painted over long text. (issue #172)
  • PasswordField: Paint caps lock icon on left side in right-to-left component orientation.
  • Window decorations: Window title bar width is no longer considered when
    calculating preferred/minimum width of window. (issue #351)

1.3

02 Jul 09:05
Compare
Choose a tag to compare
1.3

Change log

New features and improvements

  • TextComponents, ComboBox and Spinner: Support different background color when
    component is focused (use UI values TextField.focusedBackground,
    PasswordField.focusedBackground, FormattedTextField.focusedBackground,
    TextArea.focusedBackground, TextPane.focusedBackground,
    EditorPane.focusedBackground, ComboBox.focusedBackground,
    ComboBox.buttonFocusedBackground, ComboBox.popupBackground and
    Spinner.focusedBackground). (issue #335)

Fixed bugs

  • Fixed white lines at bottom and right side of window (in dark themes on HiDPI
    screens with scaling enabled).
  • ScrollBar: Fixed left/top arrow icon location (if visible). (issue #329)
  • Spinner: Fixed up/down arrow icon location.
  • ToolTip: Fixed positioning of huge tooltips. (issue #333)

1.2

18 May 16:56
Compare
Choose a tag to compare
1.2

This release brings a lot of minor new features, improvements and bug fixes.

Users of version 1.1.x are recommended to update to 1.2 because this release
fixes some minor issues with native window decorations.

Change log

New features and improvements

  • Renamed Flat*Laf.install() methods to Flat*Laf.setup() to avoid confusion
    with UIManager.installLookAndFeel(LookAndFeelInfo info). The old
    Flat*Laf.install() methods are still there, but marked as deprecated. They
    will be removed in a future version.
  • Button and ToggleButton: Support borderless button style (set client property
    JButton.buttonType to borderless). (PR #276)
  • ComboBox: Support using as cell renderer (e.g. in JTable).
  • DesktopPane: Improved layout of iconified internal frames in dock:
    • Always placed at bottom-left in desktop pane.
    • Newly iconified frames are added to the right side of the dock.
    • If frame is deiconified, dock is compacted (icons move to the left).
    • If dock is wider than desktop width, additional rows are used.
    • If desktop pane is resized, layout of dock is updated.
  • TableHeader: Moved table header column border painting from
    FlatTableHeaderUI to new border FlatTableHeaderBorder to improve
    compatibility with custom table header implementations. (issue #228)
  • Linux: Enable text anti-aliasing if no Gnome or KDE Desktop properties are
    available. (issue #218)
  • IntelliJ Themes: Added "Material Theme UI Lite / GitHub Dark" theme.
  • JIDE Common Layer: Improved support for JideTabbedPane. (PR #306)
  • Extras: FlatSVGIcon improvements:
    • Each icon can now have its own color filter. (PR #303)
    • Use mapper function in color filter to dynamically map colors. (PR #303)
    • Color filter supports light and dark themes.
    • Getters for icon name, classloader, etc.
  • Extras: UI Inspector: Show class hierarchies when pressing Alt key
    and prettified class names (dimmed package name).
  • Extras: FlatSVGUtils.createWindowIconImages() now returns a single
    multi-resolution image that creates requested image sizes on demand from SVG
    (only on Windows with Java 9+).

Fixed bugs

  • CheckBox and RadioButton: Do not fill background if used as cell renderer,
    except if cell is selected or has different background color. (issue #311)
  • DesktopPane:
    • Fixed missing preview of iconified internal frames in dock when using a
      custom desktop manager. (PR #294)
    • Fixed incomplete preview of iconified internal frames in dock when switching LaF.
    • On HiDPI screens, use high-resolution images for preview of iconified
      internal frames in dock.
  • PopupFactory: Fixed occasional NullPointerException in FlatPopupFactory.fixToolTipLocation(). (issue #305)
  • Tree: Fill cell background if DefaultTreeCellRenderer.setBackgroundNonSelectionColor(Color) was used. (issue #322)
  • IntelliJ Themes: Fixed background colors of DesktopPane and DesktopIcon in all themes.
  • Native window decorations:
    • Fixed slow application startup under particular conditions. (e.g. incomplete custom JRE) (issue #319)
    • Fixed occasional double window title bar when creating many frames or dialogs. (issue #315)
    • Fixed broken maximizing window (under special conditions) when restoring frame state at startup.
    • Title icon: For multi-resolution images now use getResolutionVariant(width, height)
      (instead of getResolutionVariants()) to allow creation of requested size on demand.
      This also avoids creation of all resolution variants.
    • Double-click at upper-left corner of maximized frame did not close window. (issue #326)
  • Linux: Fixed/improved detection of user font settings. (issue #309)

1.1.2

07 Apr 12:18
Compare
Choose a tag to compare

This is a bug fix release. Users of version 1.1 are recommended to update to 1.1.2.

Change log

New features and improvements

  • Native window decorations: Added API to check whether current platform
    supports window decorations (FlatLaf.supportsNativeWindowDecorations()) and
    to toggle window decorations of all windows (FlatLaf.setUseNativeWindowDecorations(boolean)).
  • Native window decorations: Support changing title bar background and
    foreground colors per window. (set client properties
    JRootPane.titleBarBackground and JRootPane.titleBarForeground on root pane
    to a java.awt.Color).

Fixed bugs

  • Native window decorations: Fixed loading of native library when using Java
    Platform Module System (JPMS) for application. (issue #289)
  • Native window decorations: Removed superfluous pixel-line at top of screen
    when window is maximized. (issue #296)
  • Window decorations: Fixed random window title bar background in cases were
    background is not filled by custom window or root pane components and unified
    background is enabled.
  • IntelliJ Themes: Fixed window title bar background if unified background is enabled.
  • IntelliJ Themes: Fixed system colors.
  • Button and ToggleButton: Do not paint background of disabled (and unselected)
    toolBar buttons. (issue #292; regression since fixing #112)
  • ComboBox and Spinner: Fixed too wide arrow button if component is higher than
    preferred. (issue #302)
  • SplitPane: JSplitPane.setContinuousLayout(false) did not work. (issue #301)
  • TabbedPane: Fixed NPE when creating/modifying in another thread. (issue #299)
  • Fixed crash when running in Webswing. (issue #290)