Releases: JFormDesigner/FlatLaf
0.32
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
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).
0.30
0.29
Change log
- Linux: Fixed scaling if
GDK_SCALE
environment variable is set or if running
on JetBrains Runtime. (issue #69) - Tree: Fixed repainting wide selection on focus gained/lost.
- ComboBox: No longer ignore
JComboBox.prototypeDisplayValue
when computing
popup width. (issue #80) - Support changing default font used for all components with automatic scaling
UI if using larger font. UseUIManager.put( "defaultFont", myFont );
- No longer use system property
sun.java2d.uiScale
. (Java 8 only) - Support specifying custom scale factor in system property
flatlaf.uiScale
also for Java 9 and later. - Demo: Support using own FlatLaf themes (
.properties
files) that are located
in working directory of Demo application. Shown in the "Themes" list under
category "Current Directory".
0.28
Change log
- PasswordField: Warn about enabled Caps Lock.
- TabbedPane: Support Ctrl+TAB / Ctrl+Shift+TAB to switch
to next / previous tab. - TextField, FormattedTextField and PasswordField: Support round borders (see UI
default valueTextComponent.arc
). (issue #65) - IntelliJ Themes: Added Gradianto themes to demo.
- Button, CheckBox and RadioButton: Fixed NPE when button has children. (PR #68)
- ScrollBar: Improved colors.
- Reviewed (and tested) all key bindings on Windows and macOS. Linux key
bindings are equal to Windows key bindings. macOS key bindings are slightly
different for platform specific behavior. - UI default values are no longer based on Metal/Aqua UI defaults.
0.27
Change log
- Support
JInternalFrame
andJDesktopPane
. (issues #39 and #11) - Table: Support positioning the column sort arrow in header right, left, top or
bottom. (issue #34) - ProgressBar: Fixed visual artifacts in indeterminate mode, on HiDPI screens at
125%, 150% and 175% scaling, when the progress moves around. - TabbedPane: New option to allow tab separators to take full height (to enable
useUIManager.put( "TabbedPane.tabSeparatorsFullHeight", true );
). (issue
#59, PR #62) - CheckBox and RadioButton: Do not fill background if
contentAreaFilled
is
false
. (issue #58, PR #63) - ToggleButton: Make toggle button square if it has an icon but no text or text
is "..." or a single character. - ToolBar: No longer use special rollover border for buttons in toolbar. (issue
#36) - ToolBar: Added empty space around buttons in toolbar and toolbar itself (see
UI default valuesButton.toolbar.spacingInsets
andToolBar.borderMargins
).
(issue #56) - Fixed "illegal reflective access operation" warning on macOS when using Java
12 or later. (issue #60, PR #61)
0.26
Highlights
New menu styling:
Change log
- Menus:
- Changed menu bar and popup menu background colors (made brighter in light
themes and darker in dark themes). - Highlight items in menu bar on mouse hover. (issue #49)
- Popup menus now have empty space at the top and bottom.
- Menu items now have larger left and right margins.
- Made
JMenu
,JMenuItem
,JCheckBoxMenuItem
andJRadioButtonMenuItem
non-opaque.
- Changed menu bar and popup menu background colors (made brighter in light
- TextField, FormattedTextField and PasswordField: Select all text when a text
field gains focus for the first time and selection was not set explicitly.
This can be configured to newer or always select all text on focus gain (see
UI default valueTextComponent.selectAllOnFocusPolicy
). - ProgressBar: Made progress bar paint smooth in indeterminate mode.
0.25.1
Re-release of 0.25 because of problems with Maven Central.
0.25
Note: Do not use this version from Maven Central. It is broken. Use 0.25.1.
- Hide menu mnemonics by default and show them only when Alt key is
pressed. (issue #43) - Menu: Fixed vertical alignment of sub-menus. (issue #42)
- TabbedPane: In scroll-tab-layout, the cropped line is now hidden. (issue #40)
- Tree: UI default value
Tree.textBackground
now has a valid color and is no
longernull
. - Tree on macOS: Fixed Left and Right keys to collapse or
expand nodes. - ComboBox on macOS: Fixed keyboard navigation and show/hide popup.
- Button and ToggleButton: Support per component minimum height (set client
propertyJComponent.minimumHeight
to an integer). (issue #44) - Button and ToggleButton: Do not apply minimum width if button border was
changed (is no longer an instance ofFlatButtonBorder
). - ToggleButton: Renamed toggle button type "underline" to "tab" (value of client
propertyJButton.buttonType
is nowtab
). - ToggleButton: Support per component styling for tab-style toggle buttons with
client propertiesJToggleButton.tab.underlineHeight
(integer),
JToggleButton.tab.underlineColor
(Color) and
JToggleButton.tab.selectedBackground
(Color). (issue #45) - ToggleButton: No longer use focus width for tab-style toggle buttons to
compute component size, which reduces/fixes component size in "Flat IntelliJ"
and "Flat Darcula" themes. - TabbedPane: Support per component tab height (set client property
JTabbedPane.tabHeight
to an integer). - ProgressBar: Support square painting (set client property
JProgressBar.square
totrue
) and larger height even if no string is
painted (set client propertyJProgressBar.largeHeight
totrue
).
0.24
Highlights
Smooth scrolling
Scrolling with touchpads and high precision mouse wheels is now smooth.
In case you want add a "Smooth scrolling" checkbox to your application options dialog, smooth scrolling can be enabled or disabled at any time with following code:
boolean enabled = ...;
UIManager.put( "ScrollPane.smoothScrolling", enabled );
This returns whether smooth scrolling is enabled:
boolean enabled = UIManager.getBoolean( "ScrollPane.smoothScrolling" );
Square button
You can now make single buttons square (e.g. for table cells).
myButton.putClientProperty( "JButton.buttonType", "square" );
Underline style toggle button
With toggle buttons (class JToggleButton
) in underline style you can build custom tab bars that looks similar to JTabbedPane.
The underline indicates the selected state. If the toggle button is not selected, no underline is shown.
myToggleButton.putClientProperty( "JButton.buttonType", "underline" );
Progress bar color changed in "Flat Dark" theme
Change Log
- Support smooth scrolling with touchpads and high precision mouse wheels.
(issue #27) - Changed
.properties
file loading order: Now all core.properties
files are
loaded before loading addon.properties
files. This makes it easier to
overwrite core values in addons. Also, addon loading order can be specified. - TableHeader: Paint column borders if renderer has changed, but delegates to
the system default renderer (e.g. done in NetBeans). - Label and ToolTip: Fixed font sizes for HTML headings.
- Button and ToggleButton: Support square button style (set client property
JButton.buttonType
tosquare
). - ToggleButton: Support underline toggle button style (set client property
JButton.buttonType
tounderline
). - Button and TextComponent: Support per component minimum width (set client
propertyJComponent.minimumWidth
to an integer). - ScrollPane with Table: The border of buttons that are added to one of the four
scroll pane corners are now removed if the center component is a table. Also,
these corner buttons are made not focusable. - Table: Replaced
Table.showGrid
withTable.showHorizontalLines
and
Table.showVerticalLines
. (issue #38) - ProgressBar: Now uses blueish color for the progress part in "Flat Dark"
theme. In the "Flat Darcula" theme, it remains light gray. - Improved Swing system colors
controlHighlight
,controlLtHighlight
,
controlShadow
andcontrolDkShadow
.