On Sat, 13 Jun 2026 18:20:56 GMT, Michael Strauß <[email protected]> wrote:

>> JavaFX controls in the title bar were previewed with 
>> [JDK-8313424](https://bugs.openjdk.org/browse/JDK-8313424) (delivered in JFX 
>> 25) and the API was subsequently refined with 
>> [JDK-8369836](https://bugs.openjdk.org/browse/JDK-8369836) and 
>> [JDK-8370446](https://bugs.openjdk.org/browse/JDK-8370446) (delivered in JFX 
>> 26). The feedback collected in two preview rounds suggests that the API is 
>> fit for purpose, and no fundamental changes are required. This means that 
>> the feature is ready to become final and permanent in JFX 27.
>> 
>> I propose a few small changes to smooth out remaining edges:
>> 1. **Rename `HeaderBar.prefButtonHeight` to `HeaderBar.systemButtonHeight`**
>>    This more clearly expresses that it is the height of the 
>> _system-provided_ buttons.
>> 2. **Rename `HeaderBar.minSystemHeight` to `HeaderBar.systemMinHeight`**
>>    What is meant is not a _minimum system height_ (which makes no sense), 
>> but a _system-provided minimum height_.
>> 3. **Add `HeaderBar.systemColorScheme`**
>>    In the previous iteration, the color scheme of the header buttons on 
>> Windows and Linux was determined by the brightness of the `Scene.fill` 
>> background. On macOS, which uses header buttons drawn by the operating 
>> system, the color scheme of the header buttons was instead determined by the 
>> color scheme of the window itself.
>> 
>>    The newly added `HeaderBar.systemColorScheme` attached property allows 
>> applications to specify the color scheme for system-provided header buttons 
>> directly, without falling back to either the scene background or the window 
>> color scheme. The default value of the property is `null`, which means "no 
>> preference"; in this case, the color scheme for header buttons will match 
>> the color scheme for the window on all platforms. Setting this property to a 
>> non-null value is only necessary in the rare case when an application needs 
>> different color schemes for header buttons and the window (i.e. when it has 
>> a bright title bar in dark mode, or a dark title bar in light mode).
>> 
>> Since these changes are only cosmetic (in the case of renamed properties) 
>> and don't fundamentally change the API of the enhancement (in the case of 
>> `HeaderBar.systemColorScheme`), they shouldn't need to be previewed for 
>> another round.
>> 
>> The rest of the significant changes in this PR are a clean-up pass over the 
>> documentation, and having the macOS header button implementation support the 
>> new `HeaderBar.systemColorScheme` property.
>> 
>> ## Note on the use of attached properties
>> This e...
>
> Michael Strauß has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Finalize DialogPane.headerBar

I've changed all API elements to `@since 27`.

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

PR Comment: https://git.openjdk.org/jfx/pull/2188#issuecomment-4733131264

Reply via email to