-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spinner: repeated value not correctly shown #3183
Comments
Have you already narrowed it down to us calling Mind you this could be related to our attempt of handling network delays, changes from somewhere else, or the IOC clamping the value. If the core issue is indeed JFX ignoring our |
Yes, I set a breakpoint and it gets hit when the update fails, which I think is what you're asking? I understand the reasoning, I tried it with local PV's which uses some internal logic I think, but I've also had this happen with a "real" (CA) PV over the network |
We should never see the intermediate value, but just in case, to avoid flicker, might this work?
If adding a space doesn't do it, maybe "!"? |
Yes, the space variant works. I take from this discussion you don't see a better way to force this update either? |
You already narrowed it down: We call "setValue", but the value is ignored. It's not the only place where we need to hack around a missing refresh, see We could add a common comment like
to those sections. That way, it'd be easier to find them all and then we can periodically check, like after JavaFX updates, if there's any improvement that might allow us to remove the hacks one by one. |
Description
When entering a value in a spinner, the formatter is only applied every other time. This is especially evident for clipped values which show the wrong value when you do this, but same issue applies for non-clipped values.
To reproduce
Recording.2024-11-06.164138.mp4
Recording.2024-11-06.164459.mp4
Root cause
There seems to be some caching in JavaFX internally that rejects the write to the spinner.
Solution
The following... works but there must be some better way I imagine:
Environment
Oracle Corporation 21.0.1+12-29
19+11
The text was updated successfully, but these errors were encountered: