Skip to content

Releases: JFormDesigner/FlatLaf

0.40

11 Aug 10:05
Compare
Choose a tag to compare

This is a bug fix release. Users of FlatLaf 0.39 that use the Solarized themes are recommended to update to this version.

Change log

New features

  • Table: Detect whether component is used in cell editor and automatically
    disable round border style and reduce cell editor outer border width (used for
    focus indicator) to zero. (issue #148)
  • ComboBox, Spinner and TextField: Support disabling round border style per
    component, if globally enabled (set client property JComponent.roundRect to
    false). (issue #148)

Fixed bugs

  • Custom window decorations: Embedded menu bar did not always respond to mouse
    events after adding menus and when running in JetBrains Runtime. (issue #151)
  • IntelliJ Themes: Fixed NPE in Solarized themes on scroll bar hover.

0.39

03 Aug 15:22
Compare
Choose a tag to compare

Highlights

Animated theme change

FlatAnimatedLafChange

To use this in own application use something like this (requires FlatLaf Extras dependency):

// take snapshot of current theme and show it
FlatAnimatedLafChange.showSnapshot();

// change look and feel
UIManager.setLookAndFeel( lafClassName );

// update all components
FlatLaf.updateUI();

// hide snapshot of old theme with animation until new theme is fully visible
FlatAnimatedLafChange.hideSnapshotWithAnimation();

New IntelliJ Themes

Arc Dark

image

Arc Dark - Orange

image

Carbon

image

Cobalt 2

image

Change log

New features

  • Animated theme change (see FlatLaf Extras). Used in Demo.
  • Demo: Added combo box above themes list to show only light or dark themes.
  • IntelliJ Themes:
    • Added "Arc Dark", "Arc Dark - Orange", "Carbon" and "Cobalt 2" themes.
    • Replaced "Solarized" themes with much better ones from 4lex4.
    • Updated "Arc", "One Dark" and "Vuesion" themes.
  • ScrollPane: Enable/disable smooth scrolling per component if client property
    "JScrollPane.smoothScrolling" is set to a Boolean on JScrollPane.
  • ScrollBar: Increased minimum thumb size on macOS and Linux from 8 to 18
    pixels. On Windows, it is now 10 pixels. (issue #131)
  • Button: Support specifying button border width.
  • ComboBox: Changed maximum row count of popup list to 15 (was 20). Set UI value
    ComboBox.maximumRowCount to any integer to use a different value.

Fixed bugs

  • Custom window decorations: Fixed maximized window bounds when programmatically
    maximizing window. E.g. restoring window state at startup. (issue #129)
  • InternalFrame: Title pane height was too small when iconify, maximize and
    close buttons are hidden. (issue #132)
  • ToolTip: Do not show empty tooltip component if tooltip text is an empty
    string. (issue #134)
  • ToolTip: Fixed truncated text in HTML formatted tooltip on HiDPI displays.
    (issue #142)
  • ComboBox: Fixed width of popup, which was too small if popup is wider than
    combo box and vertical scroll bar is visible. (issue #137)
  • MenuItem on macOS: Removed plus characters from accelerator text and made
    modifier key order conform with macOS standard. (issue #141)
  • FileChooser: Fixed too small text field when renaming a file/directory in Flat
    IntelliJ/Darcula themes. (issue #143)
  • IntelliJ Themes: Fixed text colors in ProgressBar. (issue #138)

0.38

10 Jul 17:41
Compare
Choose a tag to compare

This is a bug fix release. Users of FlatLaf 0.37 are recommended to update to this version.

Change log

  • Hide focus indicator when window is inactive.
  • Custom window decorations: Improved/fixed window border color in dark themes.
  • Custom window decorations: Hide window border if window is maximized.
  • Custom window decorations: Center title if menu bar is embedded.
  • Custom window decorations: Cursor of components (e.g. TextField) was not
    changed. (issue #125)
  • CheckBox: Fixed colors in light IntelliJ themes. (issue #126; regression in 0.37)
  • InternalFrame: Use default icon in internal frames. (issue #122)

0.37

29 Jun 16:00
Compare
Choose a tag to compare

Highlights

Custom window decorations

Custom window decorations (Windows 10 only) support dark window title panes and embedding menu bar into window title pane.

image

image

image

Native Windows 10 borders and behavior are used when running in JetBrains Runtime 11 or later (the JRE that IntelliJ IDEA uses):

image

To use custom window decorations in your application, enable them with following code (before creating any frames or dialogs).

JFrame.setDefaultLookAndFeelDecorated( true );
JDialog.setDefaultLookAndFeelDecorated( true );

Then, if running on Windows 10, custom window decorations are used and the menu bar is automatically moved into the title pane. On other platforms or older Windows versions, the custom window decorations are not used.

Filled check boxes and radio buttons

It is now easy to use "filled" style check boxes and radio buttons in any FlatLaf theme (as already used in IntelliJ theme):

image image

Enable with:

UIManager.put( "CheckBox.icon.style", "filled" );

Change log

  • Custom window decorations (Windows 10 only; PR #108; issues #47 and #82)
    support:
    • dark window title panes
    • embedding menu bar into window title pane
    • native Windows 10 borders and behavior when running in
      JetBrains Runtime 11
      or later (the JRE that IntelliJ IDEA uses)
  • CheckBox and RadioButton: Support changing selected icon style from outline to
    filled (as in FlatLaf IntelliJ theme) with UIManager.put( "CheckBox.icon.style", "filled" );.
  • Button and ToggleButton: Support disabled background color (use UI values
    Button.disabledBackground and ToggleButton.disabledBackground). (issue
    #112)
  • Button and ToggleButton: Support making buttons square (set client property
    JButton.squareSize to true). (issue #118)
  • ScrollBar: Support pressed track, thumb and button colors (use UI values
    ScrollBar.pressedTrackColor, ScrollBar.pressedThumbColor and
    ScrollBar.pressedButtonBackground). (issue #115)
  • ComboBox: Support changing arrow button style (set UI value
    ComboBox.buttonStyle to auto (default), button or none). (issue #114)
  • Spinner: Support changing arrows button style (set UI value
    Spinner.buttonStyle to button (default) or none).
  • TableHeader: Support top/bottom/left positioned sort arrow when using
    Glazed Lists. (issue #113)
  • Button, CheckBox, RadioButton and ToggleButton: Do not paint focus indicator
    if AbstractButton.isFocusPainted() returns false.
  • ComboBox: Increase maximum row count of popup list to 20 (was 8). Set UI value
    ComboBox.maximumRowCount to any integer to use a different value.
  • Fixed/improved vertical position of text when scaled on HiDPI screens on
    Windows.
  • IntelliJ Themes: Updated Gradianto Themes.
  • IntelliJ Themes: Fixed menu bar and menu item margins in all Material UI Lite
    themes.

0.36

09 Jun 16:21
Compare
Choose a tag to compare

Highlights

ScrollBar styling made more flexible to support macOS and Linux style scroll bars. Examples:

scrollbar_thumb_round@2x scrollbar_trackInsets@2x

Details: https://www.formdev.com/flatlaf/customizing/#scrollbar_style

Change log

  • ScrollBar: Made styling more flexible by supporting insets and arc for track
    and thumb. (issue #103)
  • ScrollBar: Use round thumb on macOS and Linux to make it look similar to
    native platform scroll bars. (issue #103)
  • ComboBox: Minimum width is now 72 pixels (was ~50 for non-editable and ~130
    for editable comboboxes).
  • ComboBox: Support custom borders in combobox editors. (issue #102)
  • Button: Support non-square icon-only buttons. (issue #110)
  • Ubuntu Linux: Fixed poorly rendered font. (issue #105)
  • macOS Catalina: Use Helvetica Neue font.
  • FlatInspector added (see FlatLaf Extras).

0.35

18 May 20:44
Compare
Choose a tag to compare

Highlights

Drop shadows on popups (menus, tooltips, etc) and internal frames:

image

Error/warning borders:

image

Round components:

image

System icons in file chooser:

image

Change log

  • Added drop shadows to popup menus, combobox popups, tooltips and internal
    frames. (issue #94)
  • Support different component border colors to indicate errors, warnings or
    custom state (set client property JComponent.outline to error, warning
    or any java.awt.Color).
  • Button and ToggleButton: Support round button style (set client property
    JButton.buttonType to roundRect).
  • ComboBox, Spinner and TextField: Support round border style (set client
    property JComponent.roundRect to true).
  • Paint nicely rounded buttons, comboboxes, spinners and text fields when
    setting Button.arc, Component.arc or TextComponent.arc to a large value
    (e.g. 1000).
  • Added Java 9 module descriptor to flatlaf-extras-<version>.jar and
    flatlaf-swingx-<version>.jar.
  • CheckBox and RadioButton: Flag opaque is no longer ignored when checkbox or
    radio button is used as table cell renderer. (issue #77)
  • FileChooser: Use system icons. (issue #100)
  • FileChooser: Fixed missing labels in file chooser when running on Java 9 or
    later. (issue #98)
  • PasswordField: Do not apply minimum width if columns property is greater
    than zero.

0.34

08 May 13:29
Compare
Choose a tag to compare

Highlights

This release brings a complete rewrite of menu item layout with stable left margins, right aligned accelerators (as in Windows and macOS) and larger gap between text and accelerator. The text and accelerator are no longer layouted in "columns", which makes menu width smaller.

image

Also a new "underline" menu selection style is now available:

image

Can be enabled with:

UIManager.put( "MenuItem.selectionType", "underline" );

Change Log

  • Menus: New menu item renderer brings stable left margins, right aligned
    accelerators and larger gap between text and accelerator. This makes menus
    look more modern and more similar to native platform menus.
  • New underline menu selection style that displays selected menu items similar
    to tabs (to enable use UIManager.put( "MenuItem.selectionType", "underline" );).
  • Menus: Fixed text color of selected menu items that use HTML. (issue #87)
  • Menus: On Windows, pressing F10 now activates the menu bar without
    showing a menu popup (as usual on Windows platform). On other platforms the
    first menu popup is shown.
  • Menus: On Windows, releasing Alt key now activates the menu bar (as
    usual on Windows platform). (issue #43)
  • Menus: Fixed inconsistent left padding in menu items. (issue #3)
  • Menus: Fixed: Setting iconTextGap property on a menu item did increase left
    and right margins. (issue #54)
  • Hide mnemonics if window is deactivated (e.g. Alt+Tab to another
    window). (issue #43)
  • macOS: Enabled drop shadows for popup menus and combobox popups. (issue #94)
  • macOS: Fixed NPE if using JMenuBar in JInternalFrame and macOS screen menu
    bar is enabled (with -Dapple.laf.useScreenMenuBar=true). (issue #90)

0.33

27 Apr 19:54
Compare
Choose a tag to compare

Highlights

Improved disabled grayscale icons:

image

image

Note: Using this release in NetBeans 11.3 (and older) shows an "cannot find symbol" error in the NB editor for look and feel classes like FlatLightLaf or FlatDarkLaf. This will be fixed in NetBeans 12 Beta 4. Either ignore the error, because build and run project still works, and update to NB 12 later. Or pass a string to UIManager.setLookAndFeel("com.formdev.flatlaf.FlatLightLaf");.

Change Log

  • Improved creation of disabled grayscale icons used in disabled buttons, labels
    and tabs. They now have more contrast and are lighter in light themes and
    darker in dark themes. (issue #70)
  • IntelliJ Themes: Fixed ComboBox size and Spinner border in all Material UI
    Lite themes and limit tree row height in all Material UI Lite themes and some
    other themes.
  • IntelliJ Themes: Material UI Lite themes did not work when using
    IntelliJ Themes Pack addon. (PR #88, issue #89)
  • IntelliJ Themes: Added Java 9 module descriptor to
    flatlaf-intellij-themes-<version>.jar.

0.32

23 Apr 16:21
Compare
Choose a tag to compare

Note: Material UI Lite themes are broken in this release. Use newer release.

Change Log

  • New IntelliJ Themes Pack addon bundles many popular
    open-source 3rd party themes from JetBrains Plugins Repository into a JAR and
    provides Java classes to use them.
  • IntelliJ Themes: Fixed button and toggle button colors. (issue #86)
  • Updated IntelliJ Themes in demo to the latest versions.
  • ToggleButton: Compute selected background color based on current component
    background. (issue #32)

0.31

20 Apr 11:05
Compare
Choose a tag to compare

Change log

  • Focus indication border (or background) no longer hidden when temporary
    loosing focus (e.g. showing a popup menu).
  • List, Table and Tree: Item selection color of focused components no longer
    change from blue to gray when temporary loosing focus (e.g. showing a popup
    menu).