Releases: weisJ/darklaf
v2.2.0
Changes since last release
New in this release
-
Support for insert text mode.
-
Text cursor will now show directional hints for bidi text.
-
Added cut/copy/paste context menu for text components.
-
Balloons tooltips are now enabled by default for buttons.
-
Improved html style sheet.
-
On Windows (Vista and later) darklaf will now use the system font.
-
On macOS Catalina the default font will now be
Helvetica Neue
due to kerning issues with theSan Francisco
font. -
Better interoperability with custom cell renderers.
-
Improved selection painting.
- Added property to control whether the selection is extended to the end of the text component.
textComp.putClientProperty(DarkTextUI.KEY_EXTEND_LINE_SELECTION, enabled);
- Added property to control whether the selection is extended to the end of the text component.
-
Performance improvements.
-
New scrollbar appearance on macOS that resembles the system appearance more closely.
-
Improved slider thumb appearance.
-
Added rounded button variant.
button.putClientProperty(DarkButtonUI.KEY_ROUND, true);
-
Added warning variant for text components.
textComp.putClientProperty(DarkTextUI.KEY_HAS_WARNING, true);
-
Added
HelpButton
component.
Addressed issues
- Disabled tables/trees/lists don't paint the cells disabled. dcf8646
- Non standard cares shift text when at the end of the document. 5bcda60
- Visuals of other tex components may be visible outside of border. aaa3a08
- TableHeader doesn't scroll along when TableModel is set after creating the table. #163 d727dbc
- Table doesn't use the
Object.class
renderer when set. #164 1e1f02f - Layout of
QuickColorChooser
has undesirable resize behaviour. #165 673eb77 - Incorrect popup location when using multiple monitors with different resolutions. #162 59e3c8e
- Poor performance when using bidirectional text with non zero margins. #167 252885d
- Text isn't painted when using the toggle button slider variant. 0d1f291
- Kerning issues on macOS Catalina. #128 d3fd5de
- Icons loose opaque parts after changing the theme. 6e6890f
- Popups use the incorrect background after switching theme resulting in flashing when opening it. [Windows] 4a8b4c6
v2.1.1
v2.1.0
New in this release:
-
Add default text to
JTextComponent
using:comp.putClientProperty(DarkTextUI.KEY_DEFAULT_TEXT, "Your default text");
-
Added support for listening to theme changes through
LafManager#addThemeChangeListener
. -
Added convenience methods to update the ui of components outside a visible view hierarchy:
UIUpdater.registerComponent(comp); // To enable ui updates. UIUpdater.removeComponent(comp); // To disable ui updates. // Or manually through UIUpdater updater = new UIUpdater(comp); LafManager.addThemeChangeListener(updater);
-
Improved positioning of checkboxes/radiobuttons in table cells.
-
Add the clear button to text fields without it being a text field:
textField.putClientProperty(DarkTextFieldUI.KEY_SHOW_CLEAR, true);
This is automatically enambled if the
DarkTextFieldUI.KEY_VARIANT
is set toDarkTextFieldUI.VARIANT_SEARCH
and can me manually disabled after the property has been set.
Addressed issues:
- Checkbox for theme monitoring is not disabled if unsupported in theme settings panel. 54c7985
- Rounded selection is not painted on right side in textfield. 73bf8ec
- Text shifts if selected [Windows] 73bf8ec
- Text shifts if caret is at left most position. 73bf8ec
- Button content overlaps border. #148 c301049
- Titlebar buttons don't loose rollover effect. 3b4e17e
- NullPointerException when calculating baseline for JList #150. 21780d9
- Incorrect maximized size when restoring from minimized state #149 [Windows]. dd19ad4
- Popups have no shadows [Windows]. dd19ad4
- Calling
#darker
or#lighter
onColorUIResource
doesn't produce aUIResource
. 0f6835c - Calling
#dervie
on aFontUIResource
doesn't procude aUIResource
. d57bb2f - Disabled foreground color is not set for tabbed pane. cc32dda
- Checkbox/Radiobutton cell editors do not starting to edit the first time. 1f8cea2
Other changes:
- A lot of unused properties have been removed from the defaults. See https://weisj.github.io/darklaf-docs/
v2.0.3
New in this release:
- Added more padding to the grip of toolbars.
- Increased spacing between frame border and icon [Windows]
- New style for splitpane dividers:
"gripBorderless"
- Added option to modify all
UIDefaults
individually after they have been initialized.LafManager#registerInitTask
- ThemeSettings are now synced to manual changes in the theme.
Addresses issues:
- Decorations are lost if a window closing event is intercepted.
- Tooltips are opaque. [macOS]
- Missing title bar with decorations enabled [macOS].
- Incorrect text encoding for property files.
- Foreground colors are hard to read with some selection colors.
- FileChooser crashes in details view.
- Incorrect resizing background [Windows].
v2.0.2
v2.0.1
Support for system preferences.
New in this release:
- Added set of high contrast themes.
- Added OneDark theme.
- Added option to use system preferences.
- Added option for custom font size.
- Added option for custom accent/selection colors (supported themes only)
- Now all buttons can be navigated using the arrow keys when in a button group.
- Tabs of tabbed pane can now be centerd.
- Tabs of JTabFrame can now be disabled.
- Improved layout for popup menus.
- Added VolumeSlider component.
- Windows now follow the theme background when resizing [windows]
- New improved color picker.
- Combobox popup is now aligned to the border.
- Added icons for image/text mime types (filechooser)
- Added icons for pending/missing html icons.
API changes:
- Renamed
shadow
variant toborderless
(This may break your code) - The default
ToolTipContext
can be changed now. - Added api to
LafManager
for controlling system preferences. - Added
ThemeSettings
as a sample implementation for handling all available options. - Added function to list all available themes. This can also be obtained as a combobox model.
Addressed issues:
- Focused button could not be activated using
ENTER
[windows] - NPE when using tabbed pane in headless mode
- Trees could not be edited.
- Tabbed pane would not respect insets of tab area.
- Radiobuttons/Checkboxes had the wrong background color in SolarizedLight.
- Some icons had some incorrect colors.
- Directory combobox in filechooser would switch directory when navigated.
- Tristate menu item was unusable.
- Removed the gap between a maximized window and the screen edge [windows]
- Fixed content smearing when moving content out of the visible range [windows]
- Incorrect window decoration buttons when creating frame after laf has been installed [windows]
- Java 8 compatibility: removed usage of
AWTAccessor
- Some borders and background were not painted consistently. This is no longer the case.
- Some disabled foregrounds were incorrect.
v1.4.3.1
v1.4.3.0
New in this release:
- Whether check-boxes/radio-buttons in menus close the menu when clicked can be toggled.
- TristateCheckBoxMenuItem added.
- PopupMenus are now heavyweight by default.
- ThemedIcons can now use fall-back keys when resolving the colour.
- Buttons that meets the following requirements are automatically converted to a style that only paints a background on hover/click:
- An icon is set.
- No text is set or the text has length 0.
- The button is not focusable.
- The client property
DarkButtonUI.KEY_NO_SHADOW_OVERWRITE
is not set orfalse
. - The global ui property
"Button.convertIconOnlyToShadow"
is not set tofalse
.
- The selection background of the lead selection cell in tables is not painted to make it easier to spot the currently selected cell.
- Text fields no longer loose the selection when focus is lost.
- When tooltips have the style
BALLOON
they are now automatically anchored to the component they target. This can be fine controlled with theDarkTooltipUI.KEY_CONTEXT
. By default the following behaviour is used:- The tooltips centers horizontally w.r.t the component.
- The tooltips aligns itself to the bottom of the component (ignoring the border)
- If the tooltip doesn't fit the frame/screen it will automatically reposition itself to fit in. If this fails the defaults position given by swing is used.
- Buttons can now be grouped together to appear as one (e.g. for use in a toolbar that has a toggle button group)
- This is achieved by setting the client properties
DarkButtonUI.KEY_CORNER
andDarkButtonUI.KEY_*_NEIGHBOUR
. - See
GroupedButtonDemo.java
for an example implementation.
- This is achieved by setting the client properties
- Improved background of selected toggle buttons.
- Improved icons in file chooser to have better contrast when button is selected.
- The titlebar border is now not painted on windows when no menubar is used.
Addressed issues:
- Scrollbar flickers while scrolling by dragging.
- Sometimes cell renderers used the incorrect foreground when not focued.
- Labels would not update their foreground colour when the laf is changed.
- Text fields that are used as cell renderers used an incorrect background colour.
- Trees flicker when a checkbox (used as renderer) is edited.
- Popups flicker when first shown.
- The window restore icon on Windows is incomplete.
- Table cell editors have misaligned borders when the vertical borders of the table are disabled.
- Some ui properties are not being applied to toggle buttons.
- File chooser filter popup is hard to read.
- Striped background in lists does not extend to the end of the viewport (e.g. in scroll panes).
- Tables don't focus cell when editing starts.
- Foreground of selected toggle buttons is hard to read.
- Font is not an UIResource on macOS.
- Custom spinner editors are not supported.
- Unchecked usage of generics that prevent successful compilation with some compilers (e.g. eclipse compiler).
- Combo box editor border does not survive laf change.
- Minor painting issues when spinner/combobox is editable.