On Wed, 21 Jan 2026 20:45:56 GMT, Michael Strauß <[email protected]> wrote:

>>> Attached properties are not exclusive to `Node`, we already have an 
>>> attached property for `Stage` in JFX 26 (`HeaderBar.prefButtonHeight`).
>> 
>> you could also have `.of(Stage)`.
>> 
>>> In any case, having something along the lines of 
>>> `AttachedProperty.from(node)` would entangle the implementation of `Node` 
>>> (and other classes) with `AttachedProperty`.
>> 
>> How so?  In fact, it completely separates the feature from whatever carrier 
>> is used.
>> 
>> I really dislike this PR as it brings, in my opinion, unnecessary weight and 
>> code to the objects used everywhere for what seems to be a small side 
>> feature.  I am ok with adding support to it, just not the way this PR does.
>> 
>> I would say `AttachedProperty.of()` or something like that way is probably 
>> the least intrusive solution that I would support.
>
>> > Attached properties are not exclusive to `Node`, we already have an 
>> > attached property for `Stage` in JFX 26 (`HeaderBar.prefButtonHeight`).
>> 
>> you could also have `.of(Stage)`.
> 
> Yes, and that brings in `Stage` into the API of `AttachedProperty`, where it 
> doesn't belong.
> 
> But I think I'm not even clear on what you are proposing here. This PR does 
> two things:
> 1. It adds the `ReadOnlyProperty.getDeclaringClass()` method.
> 2. It adds the `AttachedProperty` interface, which property classes can 
> implement.
> 
> It seems like you don't object to the first addition, but only to the second 
> addition. But what exactly does your proposed code do, then:
> 
> Set<AttachedProperty> props = AttachedProperty.from(node);
> 
> 
> What are these `AttachedProperty` objects that I can get from a node? They 
> can't be the actual `Property` instances, as that's what you're objecting to. 
> What can I do with these objects?

@mstr2 : I don't understand the use case(s) then.  

@hjohn provided one: setting things like `-fx-hbox-hgrow` via CSS, so I thought 
that's the kind of property one can stash in the Node.properties.  These 
properties might provide whatever extra information you want from the attached 
properties, if I understand all this correctly.

I do not understand why you need to add unrelated and unused fields and methods 
to the regular property classes that neither need nor use it.  Again, if I 
understand it correctly.

Does your JEP explain the problem in sufficient detail so even an old timer 
like me who is perpetually stuck in Swing can understand?

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

PR Comment: https://git.openjdk.org/jfx/pull/2015#issuecomment-3781126885

Reply via email to