RFR: 8369836: Update HeaderBar API [v16]
Michael Strauß
mstrauss at openjdk.org
Thu Jan 8 01:52:19 UTC 2026
> The `HeaderBar` control currently has three areas: `leading`, `center`, and `trailing`. Additionally, there's `leftSystemInset` and `rightSystemInset`, which are not RTL adjusted. I've come to the understanding that there is no particularly good reason for this, because every time you would want to use this information for layout purposes, it should also be adjusted for RTL.
>
> With this in mind, there are three changes for the `HeaderBar` control:
> 1. Rename `leading` to `left`, and `trailing` to `right`, which aligns the terminology with `BorderPane`.
> 2. Adjust `leftSystemInset` and `rightSystemInset` for RTL.
> 3. Make `leftSystemInset`, `rightSystemInset`, and `minSystemHeight` attached properties for `Stage`.
>
> With this change, the `HeaderBar` control is more semantically consistent and easier to use, and the renamed `left` and `right` areas now show its close relationship with `BorderPane`.
>
> In addition to that, two new `HeaderDragType` constants are added:
> * `TRANSPARENT`: when set on a node, excludes the node from draggable-area hit testing
> * `TRANSPARENT_SUBTREE`: the same, but also applies to the node's subtree
Michael Strauß has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 20 additional commits since the last revision:
- move-modal message loop
- Merge branch 'master' into headerbar-update
- update copyright year to 2026
- use native constants
- typo
- align Linux/Windows behavior when clicking on resize border
- documentation
- Unspecified HeaderDragType is behind top resize border
- documentation
- documentation
- ... and 10 more: https://git.openjdk.org/jfx/compare/95580e33...7a18278f
-------------
Changes:
- all: https://git.openjdk.org/jfx/pull/1936/files
- new: https://git.openjdk.org/jfx/pull/1936/files/280d9d24..7a18278f
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jfx&pr=1936&range=15
- incr: https://webrevs.openjdk.org/?repo=jfx&pr=1936&range=14-15
Stats: 818 lines in 78 files changed: 462 ins; 121 del; 235 mod
Patch: https://git.openjdk.org/jfx/pull/1936.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/1936/head:pull/1936
PR: https://git.openjdk.org/jfx/pull/1936
More information about the openjfx-dev
mailing list