Skip to content

Releases: JFormDesigner/FlatLaf

0.30

09 Apr 12:26
Compare
Choose a tag to compare

Change log

  • Windows: Fixed rendering of Unicode characters. Previously not all Unicode
    characters were rendered on Windows. (issue #81)

0.29

01 Apr 22:54
Compare
Choose a tag to compare

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. Use UIManager.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

16 Mar 22:17
Compare
Choose a tag to compare

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 value TextComponent.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

16 Feb 16:52
Compare
Choose a tag to compare

Change log

  • Support JInternalFrame and JDesktopPane. (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
    use UIManager.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 values Button.toolbar.spacingInsets and ToolBar.borderMargins).
    (issue #56)
  • Fixed "illegal reflective access operation" warning on macOS when using Java
    12 or later. (issue #60, PR #61)

0.26

22 Jan 14:44
Compare
Choose a tag to compare

Highlights

New menu styling:

image

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 and JRadioButtonMenuItem
      non-opaque.
  • 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 value TextComponent.selectAllOnFocusPolicy).
  • ProgressBar: Made progress bar paint smooth in indeterminate mode.

0.25.1

18 Jan 10:07
Compare
Choose a tag to compare

Re-release of 0.25 because of problems with Maven Central.

0.25

18 Jan 10:06
Compare
Choose a tag to compare

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
    longer null.
  • 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
    property JComponent.minimumHeight to an integer). (issue #44)
  • Button and ToggleButton: Do not apply minimum width if button border was
    changed (is no longer an instance of FlatButtonBorder).
  • ToggleButton: Renamed toggle button type "underline" to "tab" (value of client
    property JButton.buttonType is now tab).
  • ToggleButton: Support per component styling for tab-style toggle buttons with
    client properties JToggleButton.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 to true) and larger height even if no string is
    painted (set client property JProgressBar.largeHeight to true).

0.24

10 Jan 10:03
Compare
Choose a tag to compare

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

image

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.

image

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

image

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 to square).
  • ToggleButton: Support underline toggle button style (set client property
    JButton.buttonType to underline).
  • Button and TextComponent: Support per component minimum width (set client
    property JComponent.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 with Table.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 and controlDkShadow.

0.23.1

02 Jan 22:01
Compare
Choose a tag to compare
  • Tree: Fixed wide selection if scrolled horizontally.
  • ComboBox: Fixed NPE in Oracle SQL Developer settings.
  • IntelliJ Themes: Fixed checkbox colors in Material UI Lite dark themes.

0.23

30 Dec 21:37
Compare
Choose a tag to compare

Highlights

This release brings some updated colors in "Flat Light" and "Flat IntelliJ" themes, wide selection in Tree, reduced clutter in selections by hiding focus indicator in List, Tree and Table cells.

New:

image

Old:

image

Change Log

  • Updated colors in "Flat Light" and "Flat IntelliJ" themes with colors from
    "IntelliJ Light Theme", which provides blue coloring that better matches
    platform colors.
  • Tree: Support wide selection (enabled by default).
  • Table: Hide grid and changed intercell spacing to zero.
  • List, Table and Tree: Added colors for drag-and-drop. Added "enable drag and
    drop" checkbox to Demo on "Data Components" tab.
  • List and Tree: Hide cell focus indicator (black rectangle) by default. Can be
    enabled with List.showCellFocusIndicator=true /
    Tree.showCellFocusIndicator=true, but then the cell focus indicator is shown
    only if more than one item is selected.
  • Table: Hide cell focus indicator (black rectangle) by default if none of the
    selected cells is editable. Can be show always with
    Table.showCellFocusIndicator=true.
  • Support basic color functions in .properties files: rgb(red,green,blue),
    rgba(red,green,blue,alpha), hsl(hue,saturation,lightness),
    hsla(hue,saturation,lightness,alpha), lighten(color,amount[,options]) and
    darken(color,amount[,options]).
  • Replaced prefix @@ with $ in .properties files.
  • Fixed link color (in HTML text) and separator color in IntelliJ platform
    themes.
  • Use logging instead of printing errors to System.err.
  • Updated IntelliJ Themes in demo to the latest versions.
  • IntelliJ Themes: Fixed link and separator colors.