RFR: 8369836: Update HeaderBar API [v3]

Michael Strauß mstrauss at openjdk.org
Sat Nov 15 02:00:41 UTC 2025


> 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`.

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 four additional commits since the last revision:

 - documentation
 - Merge branch 'master' into headerbar-update
 - Make leftSystemInset/rightSystemInset/minSystemHeight attached properties
 - Update HeaderBar API

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/1936/files
  - new: https://git.openjdk.org/jfx/pull/1936/files/da4d219a..026a0d27

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1936&range=02
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1936&range=01-02

  Stats: 2901 lines in 104 files changed: 2328 ins; 177 del; 396 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