RFR: 8190411: NPE in SliderSkin:140 if Slider.Tooltip.autohide is true [v5]
Andy Goryachev
angorya at openjdk.org
Wed Dec 7 17:24:26 UTC 2022
On Wed, 7 Dec 2022 17:15:03 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> I considered following 2 approaches.
>>
>> 1. Initializing `dragStart` in `layoutChildren` method as suggested in the bug. With this approach I was not able to get the exact mouse click position on the thumb. Thumb was lagging behind the cursor while dragging and thumb was also flickering when initialized with (`layoutX`, `layoutY`) values.
>> 2. Initializing `dragStart` in `initialize` method. In this case also I was not able to get the mouse click position on the thumb. Tried initializing thumb with `layoutX` and `layoutY` values, this causes side effect of cursor moving to the (`layoutX`, `layoutY`) on dragging the thumb.
>> Because of these side effects, considered above approach.
>> Please let me know if you have any suggestions.
>
> Thanks for the explanation. I don't have a better suggestion than what you propose, so let's proceed. It might be good to check whether the property is bound and skip setting it in the unlikely event that it is (save/restore the binding might be tricky and not something I can recall ever doing).
Perhaps we can introduce another property - either public or internal to suppress consumption of auto-hiding events?
The other aspect of this problem, as we discussed earlier, is that, in my opinion, the tooltips should really be transparent to mouse clicks. We do have this problem in Swing - if the tool tip overlaps a button , the user needs two clicks - first dismisses the tooltip and the other depresses the button. That will be a behavioral change.
What do you think?
-------------
PR: https://git.openjdk.org/jfx/pull/965
More information about the openjfx-dev
mailing list