RFR: 8369836: Update HeaderBar API [v15]
Andy Goryachev
angorya at openjdk.org
Wed Jan 7 19:00:29 UTC 2026
On Wed, 7 Jan 2026 00:19:52 GMT, Michael Strauß <mstrauss at openjdk.org> wrote:
>> 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 incrementally with one additional commit since the last revision:
>
> update copyright year to 2026
Looks good enough on macOS/Windows (I can't test on Linux), since it's a preview feature.
One issue can be addressed in a follow-up.
I'll re-approve if you decide to rename the TRANPARENT* enums.
-------------
Marked as reviewed by angorya (Reviewer).
PR Review: https://git.openjdk.org/jfx/pull/1936#pullrequestreview-3636370467
More information about the openjfx-dev
mailing list