<Swing Dev> [9] Review Request: 8147994 [macosx] JScrollPane jitters up/down during trackpad scrolling on MacOS/Aqua

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Mon Feb 15 17:35:28 UTC 2016


Hello.

Please review the fix for jdk9. It will be backported to jdk8.

This fix is a rework of the fix for JDK-8033000:
http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/c2acbd0292f3
https://bugs.openjdk.java.net/browse/JDK-8033000

After the fix for JDK-8033000 all our L&F have the next wheel logic:
   1 If shift is not pressed and vertical scroll bar is visible it 
should be scrolled.
   2 If vertical scroll-bar is invisible then we should scroll 
horizontal scroll bar if possible.
   3 If shift is pressed and horizontal scroll-bar is visible it should 
be scrolled, but if it is not visible then we should try vertical 
scroll-bar.

Note that the step 3 was added in the JDK-8033000. This caused an issue 
which previously was reproduced in Aqua L&F only. When the user uses 
diagonal scroll(top+right) and the application has only vertical 
scroll-bar, then we try to scroll in opposite directions:
- the top move generates the scroll down.
- scroll to the right generate the wheel+shift, and since the horizontal 
scroll-bar is not visible-> scroll up is executed.

In the fix the logic of step 3 is changed:
   3 If shift is pressed and horizontal scroll-bar is visible it should 
be scrolled, otherwise do nothing.

Testcase for JDK-8033000 is updated.

Bug: https://bugs.openjdk.java.net/browse/JDK-8147994
Webrev can be found at: http://cr.openjdk.java.net/~serb/8147994/webrev.01

-- 
Best regards, Sergey.



More information about the swing-dev mailing list