CheckBox and RadioButton improvements (see PR #414)
Incompatibilities
If you're using own FlatLaf properties files, then you may be affected by some incompatible changes.
See PR #390 and #414.
Change Log
New features and improvements
Styling:
Styling individual components using string in CSS syntax or java.util.Map. (PR #341)
E.g.: mySlider.putClientProperty( "FlatLaf.style", "trackWidth: 2" );
Style classes allow defining style rules at a single place (in UI defaults)
and use them in any component. (PR #388)
E.g.: mySlider.putClientProperty( "FlatLaf.styleClass", "myclass" );
Typography defines several font styles for headers and various text sizes,
which makes it easy to use consistent font styles across the application. (PR #396)
Native window decorations (Windows 10/11 only):
Unified backgrounds for window title bar is now enabled by default (window
title bar has now same background color as window content). Bottom separator
for menu bars is no longer painted (if unified background is enabled).
Show Windows 11 snap layouts menu when hovering the mouse over the maximize
button. (issues #397 and #407)
Possibility to hide window title bar icon (for single window set client
property JRootPane.titleBarShowIcon to false; for all windows set UI
value TitlePane.showIcon to false).
OptionPane: Hide window title bar icon by default. Can be be made visibly by
setting UI default OptionPane.showIcon to true. (issue #416)
No longer show the Java "duke/cup" icon if no window icon image is set. (issue #416)
TextField, FormattedTextField and PasswordField:
Support leading and trailing icons (set client property
JTextField.leadingIcon or JTextField.trailingIcon to a
javax.swing.Icon). (PR #378; issue #368)
Support leading and trailing components (set client property
Added system property flatlaf.nativeLibraryPath to load native libraries
from a directory. (PR #453)
Fixed "endless recursion in font" exception in
FlatLaf$ActiveFont.createValue() if UIManager.getFont() is invoked from
multiple threads. (issue #456)
PasswordField: Preserve reveal button state when switching theme. (PR #442;
issue #173)
PasswordField: Reveal button did not show password if
JPasswordField.setEchoChar() was invoked from application. (PR #442; issue
#173)
Slider: Fixed/improved focused indicator color when changing accent color. (PR
#375)
TextField:
Improved hover/pressed/selected colors of leading/trailing buttons (e.g.
"reveal" button in password field). (issue #452)
Clear button no longer paints over round border. (issue #451)
Extras: Fixed concurrent loading of SVG icons on multiple threads. (issue
#459)
Use FlatLaf native window decorations by default when running in
JetBrains Runtime
(instead of using JetBrains custom decorations). System variable
flatlaf.useJetBrainsCustomDecorations is now false by default (was true
in FlatLaf 1.x). (issue #454)
Native window decorations:
Fixed blurry iconify/maximize/close button hover rectangles at 125%, 150% or
175% scaling. (issue #431)
Updated maximize and restore icons for Windows 11 style. (requires Java
8u321, 11.0.14, 17.0.2 or 18+)
Updated hover and pressed colors of iconify/maximize/close buttons for
Windows 11 style.
2.0-rc1
New features and improvements
Styling:
Styling individual components using string in CSS syntax or java.util.Map.
(PR #341)
E.g.: mySlider.putClientProperty( "FlatLaf.style", "trackWidth: 2" );
Style classes allow defining style rules at a single place (in UI defaults)
and use them in any component. (PR #388)
E.g.: mySlider.putClientProperty( "FlatLaf.styleClass", "myclass" );
Typography defines several font styles for headers and various text sizes,
which makes it easy to use consistent font styles across the application. (PR
#396)
Native window decorations (Windows 10/11 only):
Unified backgrounds for window title bar is now enabled by default (window
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps flatlaf from 1.0 to 2.0.
Release notes
Sourced from flatlaf's releases.
... (truncated)
Changelog
Sourced from flatlaf's changelog.
... (truncated)
Commits
66337f9
release 2.05464670
README.md: added more documentation linkse8ee037
RootPane: uninstall background, foreground and font because not all Lafs set ...6d705e5
Extras: FlatInspector: fixed "NOT SET" for component foregrounde768791
Native window decorations: updated hover and pressed colors of iconify/maximi...2aff7c9
Demo: changed theme names from "Flat *" to "FlatLaf *"ca6fc77
README.md: added MooInfo to applications using FlatLaf (issue #460)a1395a5
TextField: leading/trailing components (PR #386):61dd4d7
Theme Editor: added text field leading/trailing buttons/toolbar to preview6beda53
Button: if boolbar button is in leading/trailing component of a text field, i...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)