Skip to content

1.2

Compare
Choose a tag to compare
@DevCharly DevCharly released this 18 May 16:56
· 1070 commits to main since this release

This release brings a lot of minor new features, improvements and bug fixes.

Users of version 1.1.x are recommended to update to 1.2 because this release
fixes some minor issues with native window decorations.

Change log

New features and improvements

  • Renamed Flat*Laf.install() methods to Flat*Laf.setup() to avoid confusion
    with UIManager.installLookAndFeel(LookAndFeelInfo info). The old
    Flat*Laf.install() methods are still there, but marked as deprecated. They
    will be removed in a future version.
  • Button and ToggleButton: Support borderless button style (set client property
    JButton.buttonType to borderless). (PR #276)
  • ComboBox: Support using as cell renderer (e.g. in JTable).
  • DesktopPane: Improved layout of iconified internal frames in dock:
    • Always placed at bottom-left in desktop pane.
    • Newly iconified frames are added to the right side of the dock.
    • If frame is deiconified, dock is compacted (icons move to the left).
    • If dock is wider than desktop width, additional rows are used.
    • If desktop pane is resized, layout of dock is updated.
  • TableHeader: Moved table header column border painting from
    FlatTableHeaderUI to new border FlatTableHeaderBorder to improve
    compatibility with custom table header implementations. (issue #228)
  • Linux: Enable text anti-aliasing if no Gnome or KDE Desktop properties are
    available. (issue #218)
  • IntelliJ Themes: Added "Material Theme UI Lite / GitHub Dark" theme.
  • JIDE Common Layer: Improved support for JideTabbedPane. (PR #306)
  • Extras: FlatSVGIcon improvements:
    • Each icon can now have its own color filter. (PR #303)
    • Use mapper function in color filter to dynamically map colors. (PR #303)
    • Color filter supports light and dark themes.
    • Getters for icon name, classloader, etc.
  • Extras: UI Inspector: Show class hierarchies when pressing Alt key
    and prettified class names (dimmed package name).
  • Extras: FlatSVGUtils.createWindowIconImages() now returns a single
    multi-resolution image that creates requested image sizes on demand from SVG
    (only on Windows with Java 9+).

Fixed bugs

  • CheckBox and RadioButton: Do not fill background if used as cell renderer,
    except if cell is selected or has different background color. (issue #311)
  • DesktopPane:
    • Fixed missing preview of iconified internal frames in dock when using a
      custom desktop manager. (PR #294)
    • Fixed incomplete preview of iconified internal frames in dock when switching LaF.
    • On HiDPI screens, use high-resolution images for preview of iconified
      internal frames in dock.
  • PopupFactory: Fixed occasional NullPointerException in FlatPopupFactory.fixToolTipLocation(). (issue #305)
  • Tree: Fill cell background if DefaultTreeCellRenderer.setBackgroundNonSelectionColor(Color) was used. (issue #322)
  • IntelliJ Themes: Fixed background colors of DesktopPane and DesktopIcon in all themes.
  • Native window decorations:
    • Fixed slow application startup under particular conditions. (e.g. incomplete custom JRE) (issue #319)
    • Fixed occasional double window title bar when creating many frames or dialogs. (issue #315)
    • Fixed broken maximizing window (under special conditions) when restoring frame state at startup.
    • Title icon: For multi-resolution images now use getResolutionVariant(width, height)
      (instead of getResolutionVariants()) to allow creation of requested size on demand.
      This also avoids creation of all resolution variants.
    • Double-click at upper-left corner of maximized frame did not close window. (issue #326)
  • Linux: Fixed/improved detection of user font settings. (issue #309)