Integrated: 8369836: Update HeaderBar API

Michael Strauß mstrauss at openjdk.org
Wed Jan 14 00:40:41 UTC 2026


On Tue, 14 Oct 2025 14:20:17 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

This pull request has now been integrated.

Changeset: a3b85676
Author:    Michael Strauß <mstrauss at openjdk.org>
URL:       https://git.openjdk.org/jfx/commit/a3b85676cd20741243ed46392320281e45cc5c2f
Stats:     1337 lines in 19 files changed: 844 ins; 193 del; 300 mod

8369836: Update HeaderBar API

Reviewed-by: kcr, angorya

-------------

PR: https://git.openjdk.org/jfx/pull/1936


More information about the openjfx-dev mailing list