Releases: JFormDesigner/FlatLaf
0.42
Highlights
UI Defaults Inspector
A simple UI defaults inspector that shows a window with all UI defaults used in current theme (look and feel):
Change log
New features and improvements
- Demo: Improved "SplitPane & Tabs" and "Data Components" tabs.
- Demo: Menu items "File > Open" and "File > Save As" now show file choosers.
- InternalFrame: Support draggable border for resizing frame inside of the
visible frame border. (issue #121) FlatUIDefaultsInspector
added (see FlatLaf Extras). A
simple UI defaults inspector that shows a window with all UI defaults used in
current theme (look and feel).- Made disabled text color slightly lighter in dark themes for better
readability. (issue #174) - PasswordField: Support disabling Caps Lock warning icon. (issue #172)
Fixed bugs
- TextComponents: Fixed text color of disabled text components in dark themes.
- Custom window decorations: Fixed wrong window placement when moving window to
another screen with different scaling factor. (issue #166) - Custom window decorations: Fixed wrong window bounds when resizing window to
another screen with different scaling factor. (issue #166) - Fixed occasional wrong positioning of heavy weight popups when using multiple
screens with different scaling factors. (issue #166) - ToolTip: Avoid that tooltip hides owner component. (issue #164)
0.41
Change log
New features and improvements
- Added API to register packages or folders where FlatLaf searches for
application specific properties files with custom UI defaults (see
FlatLaf.registerCustomDefaultsSource(...)
methods). - Demo: Show hint popups to guide users to some features of the FlatLaf Demo application.
- Extras:
FlatSVGIcon
now allows specifyingClassLoader
that is used to load
SVG file. (issue #163) - Smoother transition from old to new theme, independent of UI complexity, when
using animated theme change (see FlatLaf Extras).
Fixed bugs
- Button: "selected" state was not shown. (issue #161)
- TextArea: Update background color property if enabled or editable state
changes in the same way as Swing does it for all other text components. (issue #147) - Demo: Fixed restoring last used theme on startup. (regression in 0.39)
- Custom window decorations: Fixed iconify, maximize and close icon colors if
window is inactive. - Custom window decorations: Fixed title pane background color in IntelliJ
themes if window is inactive. - Fixed sub-pixel text rendering in animated theme change (see FlatLaf Extras).
Other Changes
- Extras: Updated dependency svgSalamander to version 1.1.2.3.
0.40
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 propertyJComponent.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
Highlights
Animated theme change
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
Arc Dark - Orange
Carbon
Cobalt 2
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 aBoolean
onJScrollPane
. - 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
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
Highlights
Custom window decorations
Custom window decorations (Windows 10 only) support dark window title panes and embedding menu bar into window title pane.
Native Windows 10 borders and behavior are used when running in JetBrains Runtime 11 or later (the JRE that IntelliJ IDEA uses):
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):
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) withUIManager.put( "CheckBox.icon.style", "filled" );
. - Button and ToggleButton: Support disabled background color (use UI values
Button.disabledBackground
andToggleButton.disabledBackground
). (issue
#112) - Button and ToggleButton: Support making buttons square (set client property
JButton.squareSize
totrue
). (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
toauto
(default),button
ornone
). (issue #114) - Spinner: Support changing arrows button style (set UI value
Spinner.buttonStyle
tobutton
(default) ornone
). - TableHeader: Support top/bottom/left positioned sort arrow when using
Glazed Lists. (issue #113) - Button, CheckBox, RadioButton and ToggleButton: Do not paint focus indicator
ifAbstractButton.isFocusPainted()
returnsfalse
. - 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
Highlights
ScrollBar styling made more flexible to support macOS and Linux style scroll bars. Examples:
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
Highlights
Drop shadows on popups (menus, tooltips, etc) and internal frames:
Error/warning borders:
Round components:
System icons in file chooser:
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 propertyJComponent.outline
toerror
,warning
or anyjava.awt.Color
). - Button and ToggleButton: Support round button style (set client property
JButton.buttonType
toroundRect
). - ComboBox, Spinner and TextField: Support round border style (set client
propertyJComponent.roundRect
totrue
). - Paint nicely rounded buttons, comboboxes, spinners and text fields when
settingButton.arc
,Component.arc
orTextComponent.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
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.
Also a new "underline" menu selection style is now available:
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 useUIManager.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
inJInternalFrame
and macOS screen menu
bar is enabled (with-Dapple.laf.useScreenMenuBar=true
). (issue #90)
0.33
Highlights
Improved disabled grayscale icons:
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
.