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

Sorry for repeating myself but since we are talking about:
> The feedback collected in two preview rounds suggests that the API is fit for 
> purpose

The last thing missing to make it truly production ready is to have round 
corners on Linux systems too. Because as it is now, apps on those systems using 
the `EXTENDED` style are just unreleasable!

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

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

Reply via email to