This release significantly improves the usability of submenus. It makes it much easier to move the mouse into a submenu without the risk that the submenu is hidden.
Previously, you have to move the mouse on the red path, otherwise the submenu will be hidden.
Now, you can move the mouse on the green path, over other menu items.
Menu Scrolling
Large menus are now scrollable using mouse wheel or scroll arrows:
Change Log
New features and improvements
Menus: Improved usability of submenus. (PR #490; issue #247)
Menus: Scroll large menus using mouse wheel or up/down arrows. (issue #225)
Linux: Support using custom window decorations. Enable with
JFrame.setDefaultLookAndFeelDecorated(true) and
JDialog.setDefaultLookAndFeelDecorated(true) before creating a window. (issue #482)
ScrollBar: Added UI value ScrollBar.minimumButtonSize to specify minimum
scroll arrow button size (if shown). (issue #493)
Fixed bugs
PasswordField: Fixed reveal button appearance in IntelliJ themes. (issue #494)
ScrollBar: Center and scale arrows in scroll up/down buttons (if shown). (issue #493)
TextArea, TextPane and EditorPane: No longer select all text when component is
focused for the first time. (issue #498; regression in FlatLaf 2.0)
TabbedPane: Disable all items in "Show Hidden Tabs" popup menu if tabbed pane is disabled.
Incompatibilities
Method FlatUIUtils.paintArrow() (and class FlatArrowButton) now paints
arrows one pixel smaller than before. To fix this, increase parameter arrowSize by one.
2.0.2
This is a bug fix release. Users of FlatLaf native window decorations are recommended to update to this release because it fixes rendering artifacts on HiDPI screens.
Change Log
Native window decorations (Windows 10/11 only): Fixed rendering artifacts on
HiDPI screens when dragging window partly offscreen and back into screen
Menus: Improved usability of submenus. (PR #490; issue #247)
Menus: Scroll large menus using mouse wheel or up/down arrows. (issue #225)
Linux: Support using custom window decorations. Enable with
JFrame.setDefaultLookAndFeelDecorated(true) and
JDialog.setDefaultLookAndFeelDecorated(true) before creating a window.
(issue #482)
ScrollBar: Added UI value ScrollBar.minimumButtonSize to specify minimum
scroll arrow button size (if shown). (issue #493)
Fixed bugs
PasswordField: Fixed reveal button appearance in IntelliJ themes. (issue #494)
ScrollBar: Center and scale arrows in scroll up/down buttons (if shown).
(issue #493)
TextArea, TextPane and EditorPane: No longer select all text when component is
focused for the first time. (issue #498; regression in FlatLaf 2.0)
TabbedPane: Disable all items in "Show Hidden Tabs" popup menu if tabbed pane
is disabled.
Incompatibilities
Method FlatUIUtils.paintArrow() (and class FlatArrowButton) now paints
arrows one pixel smaller than before. To fix this, increase parameter
arrowSize by one.
2.0.2
Native window decorations (Windows 10/11 only): Fixed rendering artifacts on
HiDPI screens when dragging window partly offscreen and back into screen
bounds. (issue #477)
Repaint component when setting client property JComponent.outline (issue
#480).
macOS: Fixed NPE when using some icons in main menu items. (issue #483)
2.0.1
Fixed memory leak in Panel, Separator and ToolBarSeparator. (issue #471;
regression in FlatLaf 2.0)
ToolTip: Fixed wrong tooltip location if component overrides
JComponent.getToolTipLocation() and wants place tooltip under mouse
location. (issue #468)
Extras: Added copy constructor to FlatSVGIcon. (issue #465)
Moved module-info.class from META-INF\versions\9\ to root folder of JARs.
(issue #466)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps flatlaf-extras from 1.0 to 2.1.
Release notes
Sourced from flatlaf-extras's releases.
... (truncated)
Changelog
Sourced from flatlaf-extras's changelog.
... (truncated)
Commits
c00d99b
release 2.10bf87b7
TabbedPane: disable all items in "Show Hidden Tabs" popup menu if tabbed pane...53f2730
TextArea, TextPane and EditorPane: no longer select all text when component i...d487c3b
JIDE: use FlatLaf menu scrolling for JidePopupMenu (issue #225)fef6ae7
Menus: scroll large menus using mouse wheel or up/down arrows (issue #225)f6b4275
Testing: FlatScreenshotsBackground: also make title bar white/black2ae9bb3
Menus: fixed `IllegalComponentStateException: component must be showing on th...53bde84
fixed compiler warningd006ac2
Merge PR #490: Menus: improved usability of submenusc478d28
PasswordField: fixed reveal button appearance in IntelliJ themes (issue #494)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)