JEP: JavaFX controls in the title bar

Kevin Rushforth kevin.rushforth at oracle.com
Wed Oct 23 14:19:18 UTC 2024


Hi Michael,

I like this proposal overall. It provides a commonly-requested feature 
with a minimal API surface. While I share some of the concerns about 
implementing it, it is reflective of modern UI design on all of the 
desktop platforms, so I expect the platform vendors to continue 
supporting the features this needs to run.

You had mentioned in your PR the possibility of making this a preview 
feature, which seems like a good idea. I think it is worth reviving the 
preview feature proposal, and to consider using it for this feature.

I have a few overall questions after an initial reading of the JEP. I'll 
take a closer look and send more specific feedback.

I presume that the preferred width and height of HeaderBarBase is the 
width of the window and the height of the system-reserved area for 
window buttons?

Are leftSystemInset and rightSystemInset read-only?

What is the behavior if an application adds more than one HeaderBar? 
What if they add a HeaderBar that isn't positioned at the top of the 
Stage? What is the behavior if an app adds a HeaderBar to a DECORATED or 
UNDECORATED Stage?

I want to make sure I understand the centering policy: To my eyes, the 
text field in the macOS example is not horizontally centered in the 
window. Is this a bug or am I misunderstanding something?

As Andy already mentioned in the PR, the `EXTENDED` StageStyle should be 
a ConditionalFeature, similar to TRANSPARENT or UNIFIED. Oh, I see from 
the PR that you already did this. Can you update the JEP to indicate this?

And speaking of UNIFIED, it might be worth mentioning the differences 
between EXTENDED and UNIFIED. Somewhat related to this, we have talked 
about deprecating (not for removal) UNIFIED and always returning `false` 
from `ConditionalFeature.isSupported(UNIFIED_WINDOW)`.

-- Kevin

On 10/22/2024 4:55 PM, Michael Strauß wrote:
> Hi everyone,
>
> the discussion in PR #1605 has shown that the proposed feature needs a
> better presentation in a JEP-like format, so here it is:
>
> https://gist.github.com/mstr2/0befc541ee7297b6db2865cc5e4dbd09



More information about the openjfx-dev mailing list