RFR: 8369836: Update HeaderBar API [v15]
Andy Goryachev
angorya at openjdk.org
Wed Jan 7 18:18:37 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
Wanted to comment on naming, since it might impact the CSR.
macOS looks good; continuing testing on Windows...
modules/javafx.graphics/src/main/java/javafx/scene/layout/HeaderDragType.java line 118:
> 116: * @since 26
> 117: */
> 118: TRANSPARENT,
TRANSPARENT* might be confusing, maybe DRAG_TRANSPARENT* or some such?
-------------
PR Review: https://git.openjdk.org/jfx/pull/1936#pullrequestreview-3635925366
PR Review Comment: https://git.openjdk.org/jfx/pull/1936#discussion_r2669334666
More information about the openjfx-dev
mailing list