Skip to content

Releases: weisJ/darklaf

v2.5.4

20 Dec 18:49
Compare
Choose a tag to compare

Visual changes

  • Decreased padding of JCheckBox and JRadioButton.
  • Provide visual padding value, which may be used by layout managers such as MigLayout.

API Changes

  • SettingsConfiguration is now serializable.
  • The combobox renderer of ThemeSettingsPanel can be changed now.
  • Changes made to the ThemeSettingsPanel can now be listened to.
  • Added ThemeSettingsPanel#loadConfiguration to explicitly load a SettingsConfiguration.

Addressed issues

  • Foreground of disabled combobox isn't updated when theme is changed.87b76e31a98a69ec822b8f446a1ee2385d438385
  • Background of non-editable text component isn't updated when theme is changed.1cb88d8b7f8e887d826b72faa622b86f13849837
  • JSplitPane reports incorrect minimum divider location. f26868c
  • Boolean cell renderer for JTable doesn't respect the background of custom renderers. b50dfa3
  • JCheckBoxMenuItem and JRadioButtonMenuItem loose selection highlight after being clicked.

v2.5.3

23 Nov 20:45
Compare
Choose a tag to compare

Visual changes

  • JToolBars now have default padding. 37b8e5e

Behavioural changes

  • If scrollbar hiding is enabled (through ScrollBar.macos.hideScrollBar) scrolling will now reveal the scrollbar.
  • The labels for the current RGB (or HSB/HSL respectively) values in SmallColorChooser can now be edited directly.
    SmallColorChooser is used for PopupColorChooser, QuickColorChooser and as the default table cell editor for Color.class. efd996c

API Changes

  • Added a default color palette which is available with each theme. The colors are adjusted to fit with in with the style of the given theme. 9b49c7a b1cebab
    The following colors are available:
    palette.yellow
    palette.orange
    palette.red
    palette.pink
    palette.purple
    palette.indigo
    palette.blue
    palette.teal
    palette.cyan
    palette.green
    palette.lime
    palette.forest
    palette.brown
    palette.gray
    
  • Introduced new convenience methods to DarkBordersfor creating borders. 05a6b54
  • For CustomThemedIcon the defaults for context properties (i.e. the properties which are usually resolved against the
    current UIDefaults) can now be changed. 2c55ad4
  • SVG icon properties can now reference other properties through the % prefix (Properties will be resolved up to 5 levels deep). 2c55ad4
  • Added the ButtonConstants.KEY_ARC_MULTIPLIER client property for AbstractButton to specify the multiplier of the corner radius.
  • Added Theme#baseThemeOf(Theme), which returns the given theme stripped from font and accent color changes. 6170f72

New components

  • New CloseButton as a convenience class for creating buttons with a "Close Button" visual. 2050a14
  • Added IconEditorPanel and IconEditor which can be used to edit colors of themed svg icons. 0b753be

Other changes

  • Darklaf#getID now always returns "darklaf". 25554e9
  • Most icons now specify fallback values for their colors which enables the usage of the outside of darklaf. 3ec5dfd

Addressed issues

  • The auto generated property tables have incorrect values. b6ea136
  • The background bleeds through between the slider border and focus ring. 9d8f043
  • NPE while uninstalling the UI of JEditorPane. f0bcd89
  • Settings changed through ThemeSettings can visually enable functions which aren't supported on the current OS. acd0f36

v2.5.2

09 Nov 13:01
Compare
Choose a tag to compare

Visual changes

  • The knob of the toggle button slider variant is now flush with the button border. 75fa223
  • Made button shadow lighter in the SolarizedLightTheme. 7aedb3a
  • Buttons will now have the same height as combo boxes (and spinners). 7aedb3a
  • SolarizedLightTheme now supports custom accent colors. 0bd0de4
  • Improved visibility for rollover/click button colors for dark high contrast theme. 8b283ef

Behavioural changes

  • When using a custom background color1 for a combobox renderer the combobox will adapt the background color. 7f6681e
    • If the custom background is only intended for the popup then one can check whether the index is -1 in ListCellRenderer#getListCellRendererComponent which will be the case
      when painting the value in the combobox.
  • Custom fonts1 for combobox renderers will no longer be overwritten by the combobox font. 7f6681e
  • When using a custom background color1 for a spinner editor the spinner will adapt the background color. 04a9f17
  • If the height of a combobox isn't large enough for the current value the margins will be reduced to try to fit the value inside. 4f29251

API Changes

  • Added TooltipContext#setLayoutTarget which can be used to layout the tooltip relative to a different component than the tooltip is dispatched from.
  • Reintroduced textIcon* properties with fixed color values. #126 fa854b2
  • Added ScrollBarConstants#KEY_HIGHLIGHT_ON_SCROLL client property to enable scrollbar highlighting when scrolling.
    By default, this value gets initialised to the value of the ScrollBar.highlightOnScroll property of the UIManager
    (which is false by default). 6f6c8db
  • Added ScrollBar.macos.hideScrollBar property to UIManager which determines whether the scrollbar should be hidden when
    it's not used currently (i.e. has no mouse interaction). By default, this value is false. 6f6c8db
  • Added HelpButton#setUseColoredIcon to toggle between a colored and non-colored help icon. 81e37c3

Addressed issues

  • NPE when using JScrollBar on macOS. (Kohei Sakurai) 7ee01c4
  • JComboBox has incorrect preferred size. 9459c75
  • NPE on mouse-over when using JToolTip as a child of another component. 897766c
  • Tooltip fade-in animation is started if used as child of another component. 8b1b554
  • Text is truncated when editing table. 6df91b7
  • Tables don't use designated color renderer and editor. b1ca895
  • Popup for combobox is too large. 9b5aebc
  • Focus border of slider toggle button is clipped. d6d500d
  • Button looses rollover state after it has been pressed. 5709f5f
  • Dropdown button of JSplitButton disappears after the theme has been changed. 0aad010
  • Buttons who qualify for automatic borderless conversion and explicitly opt-in may display an incorrect background area. 55697f6
  • Arrow buttons (as used in JComboBox, JSpinner and JSplitButton) can't be pressed near the edge. 52059aa
  • Custom icons for a DefaultTreeCellRenderer are getting ignored. 82331b0
  • Snapped values of JSlider slightly differ from exact value. 2442196

1: Not null and not of type UIResource.

v2.5.1

28 Oct 11:35
Compare
Choose a tag to compare

Addressed issues

  • Renderer for non-editable boolean values uses incorrect icon when not selected. 34a0610

v2.5.0

27 Oct 00:53
Compare
Choose a tag to compare

Visual changes

  • Updated the border of JTextField, JFormattedTextField, JPasswordField to the new rectangular design found in IntelliJ. 7ca292c
  • Added animations to the slider variant of JToggleButton. 331c550
    Animated Slider
  • Added on/off labels to slier variant of JToggleButton on the two high contrast themes. 331c550
    Slider labels
    This can be enabled for other themes through the ToggleButton.showSliderHints property.
  • Added animations to the JTree control icons. d6e89f8
    Tree control animations
  • If the cell of a JTable
    Table boolean renderer
    with a boolean value isn't editable this is now reflected in the renderer. 1431f0e
  • Added an icon to JColorChooser.
  • Updated background behind the arrow(s) on JComboBox (JSpinner) to match IntelliJ. 578504a
  • The width of the popup of JComboBox is no longer bounded by the width of the JComboBox. 175fbb7
  • JTable#setFillsViewportHeight now has a default value of true to ensure grid lines always fill the complete viewport 296b773.

Behavioural changes

  • The value of a JSlider can now be changes through mouse wheel rotation. bb276b4
  • The value of a JSpinner can now be changes through mouse wheel rotation. 02e4314

Api Changes

  • Added client property on JRootPane to hide the custom titlebar. #211 5028431
      rootPane.putClientProperty(DarkRootPaneUI.HIDE_TITLEBAR, true);
  • Added system property darklaf.animations to disable all animations.
    System.setProperty("darklaf.animations", "false");
    Single animations can also be disabled:
    • JToggleButton slider variant through the ui property ToggleButton.animated.
    • JScrollBar through the ui property ScrollBar.animated.
    • JTree control icons through the ui property Tree.iconAnimations.
  • Added ui property to disable colored title bars: "macos.coloredTitleBar.
    If disabled the titlebar will be either the light or dark native titlebar based on the current theme. f9f4e49
  • Added IconLoader#createDerivedIcon(Icon,int,int) as a utility method to rescale icons. 52fc48d
  • Added JTabFrame#isTabSelected(Alignment,int) to check whether a tab is currently selected. 4d23060

New components

  • Added JSplitButton which opens a popup menu if no action listener is installed or has a separate drop-down menu otherwise. ec14c8c
    Split Button

Other changes

  • Custom background colors on JComboBox, JSpinner are now respected. 52ea49d, e1d0c3d
  • The annotations processor for @SynthesiseLaf is now incremental. 11c74ea

Addressed issues

  • LaF doesn't get installed if changed through ThemeSettings if the default theme is requested. e2aabdd
  • JTabFrame split positions can't be changed before the component is shown. 67fdf5e, 787f3f6
  • Background color of JScrollBar isn't updated on theme change. 060a463
  • Custom title bar has a gab between window buttons and frame content [Windows]. fd50bb8, 00c6f09
  • Popups of JTabFrame can't be closed through keyboard shortcut if the content isn't opaque. 194171a
  • LogFormatter and LogHandler exist in two places. #212 8de4f56
  • Editor component of JSpinner doesn't have an empty border after theme change. 9c265a8
  • JSpinner doesn't have the correct background specified by the theme. 59efefe
  • Tree controls of parent node aren't made visible when navigating the tree through keyboard shortcuts. 67407b3
  • Boolean values in JTable aren't updated as soon as the value in the editor changes. #213 31b16fb
  • The expanded tree control of a disabled JTree is displayed as collapsed. 1431f0e

v2.4.10

30 Sep 18:48
Compare
Choose a tag to compare

New in this release

  • JSlider is now more lenient during hit testing when the track is clicked. 818e946
  • Added icons to the JFileChooser context menu. aad36a4
  • New selection highlight colour for JColorChooser swatches panel. e461772

Addressed issues

  • NPE when instantiating a JScrollPane #201. 83edf15
  • JFileChooser and JColporChooser aren't localized. 380abfd

v2.4.9

22 Sep 22:33
Compare
Choose a tag to compare

New in this release

  • The scrollbar background now follows the background colour of the viewport view. 52b9abb

Addressed issues

  • NPE when desktop hints are null. 295a08c

v2.4.8

22 Sep 20:42
Compare
Choose a tag to compare

New in this release

  • Improved button shadow rendering. deeb058
  • Increased contrast on the window buttons with HighContrastDarkTheme [Windows]. 720519e
  • Added LafManager#getInstalledTheme which reliably returns the installed theme instead of the to be installed theme.
  • Added Theme#getDisplayName and Theme#withDisplayName to support renaming themes. 623962e 64b7872
  • JSpinner will now respect a custom background set through JSpinner#setBackground. a877883
  • JButton will now respect a custom background set through JButton#setBackground. a877883
  • Buttons which don't have the default DarkButtonBorder will now paint a regular rectangular background. da1d622
  • Added FileTree component (currently unstable).
  • JTabFrame tab popup is now internationalized for some languages.
  • JButton will now handle margins (set through JButton#setMargin) in a more reliable manner. cd8bb68
    • The insets from the border dictate the spacing from the edge of the component to the background area.
    • The margins specify the spacing from the edge of the content area to the edge of the background area.
      • If the button has the variant ButtonConstants.VARIANT_BORDERLESS the spacing of the margins is enforced.
  • Added ThemeProvider#fromThemes and ThemeProvider#createDefault factory methods. b99b42e
  • The popup colorchooser can now be closed using enter or esc. 550f139
  • Added proper non continuous splitpane divider. 1fddbbf
  • Provide default value for apple.laf.useScreenMenuBar on macOS (default is true). ae8ad43
  • Provide default value for swing.aatext (default is true). b067fc0
  • Provide default value for text antialiasing mode based on screen device. b067fc0

Addressed issues

  • Custom titlepane on Windows doesn't report correct preferred size [Windows]. 501852d
  • Popupmenus can't be invoked unless the theme is changed at least once. 2e958de
  • HelpButton gets converted to borderless variant. 3eb63aa
  • ThemeChangeListeners aren't notified if the Laf is installed directly using UIManager#setLookAndFeel. dc99fbf
  • Table cell isn't editable if it doesn't contain a boolean value. #206 7fb16e6
  • Tree cells have an incorrect background. bba6819
  • Dashed tree line isn't painted in a regular pattern. 4454a31
  • Custom tab components aren't scrolled if the tabbed pane uses a scroll layout. 279f501
  • DefaultThemeProvider reports the incorrect theme being wrong. 51ae12d
  • Internalframe titlepane uses incorrect restore/maximize icons/actions after toggling the maximized state. 23e0c4f
  • Loggers that are obtained multiple times log their message multiple times. 4f19c8f 2d53ff4
  • ThemedColor isn't refreshed if a non-Darklaf laf was installed previously. ae8ad43
  • Cursor doesn't change when hovering over left/right action of textfield. 61a632b

v2.4.7

09 Sep 11:56
Compare
Choose a tag to compare

Addressed issues

  • Installing the laf using the LookAndFeelInfo returned by LafManager#getRegisteredThemeInfos results in an exception. 65f84ba
  • Chinese/Japanese characters aren't displayed [Windows]. 12dc523

v2.4.6

08 Sep 10:44
Compare
Choose a tag to compare

New in this release

  • Added undo/redo icons.
  • Added disabled variant for delete icon.

Addressed issues

  • Every cell in the row with the focus cell has the focus border. 6bab2af
  • Dark mode changes aren't detected if changed through third party programs such as NightOwl. beaf19e