Validation Support
Robert Lichtenberger
r.lichtenberger at gmail.com
Fri Mar 8 06:37:11 UTC 2024
Am 08.03.24 um 00:40 schrieb Marius Hanl:
> One note here regarding that a lot of things are final in JavaFX:
> The problem is not that everything is final - this is intended and
> makes sense, since we speak mostly of properties here. Overriding
> those will not give you any benefit.
> You mostly want to override e.g. Controls if you add something new to
> it (a new property) or may just want to set another default skin.
> This design is mostly superior than e.g. Swing, where you can override
> things and easily break something if not too careful.
> Pretty sure that this were some lessons learned from the development
> of Swing.
> The biggest problem is rather that a lot of methods are package
> private or 'Accessors' are used to call specific methods, which is not
> just a questionable design but also restrict the usage.
> It is often not possible to override even a minor feature inside the skin.
> So you may rather want to recreate the skin then, and copy the
> existing skin and just change some stuff. But this will mostly not
> work either, as there is a lot of internal API usage, e.g. Accessors
> or some com.sun.javafx.scene.control.skin.Utils usage.
Yes, I had such a problem yesterday. TableView uses <Ctrl>+<Space> as
shortcut to toggle selection of current row. I want to use that key
combination as a "global" shortcut however. I have a regular menu bar
with a menu item that has <Ctrl>+<Space> as accelerator.
Now I need to remove that bit from the TableView's behavior. I've seen
that there are efforts under way to make behavior public API. I would
really welcome that :-).
BTW, https://bugs.openjdk.org/browse/JDK-8088068 is also an issue
concerning accelerators that I currently need a separate class as
workaround.
Other issues that I currently work around somehow (inconvenient, but no
showstopper):
JDK-8092315, JDK-8087981, maybe also JDK-8123117, but I think that on is
correctly closed as "not an issue", will have to check.
To put this into perspective, we have a lot more references to JavaFX
issues in our code, which have all been fixed :-).
One major pain point that we have at the moment is CSS performance, I
think (but did not investigate yet) that some kind of performance
regression happened somewhere between 17 and 21.
Overall speaking, with the ongoing efforts for a RichText-control and
making behavior public API, I think JavaFX is definitely on the right
track, at least from my perspective :-).
--Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20240308/441a4e3f/attachment-0001.htm>
More information about the openjfx-dev
mailing list