RFR: 8244647: Wrong first layout pass of Scrollbar controls on touch supported devices

Jose Pereda jpereda at openjdk.java.net
Fri May 8 11:30:55 UTC 2020


There is a visual glitch when the scrollbar controls are laid out on touch enabled devices.

The first time they are laid out in the wrong location (20 px from right or bottom), while the next passes are correct
(8 px from right or bottom).

The reason for this glitch is the use of `getWidth()` or `getHeight()` in the `resizeRelocate` calls to relocate the
bars before the controls have been properly resized yet: The initial w/h values are set to the default (20 px / 100
px), while the pref values are correctly set to 8 px.

This PR fixes that, by using the same prefWidth/prefHeight for both resizing and relocating.

It has been tested on Mac OS and Linux (with `-Dcom.sun.javafx.touch=true`), and on Android and iOS.

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

Commit messages:
 - Use prefWidth/prefHeight to relocate scrollbars if touch is supported

Changes: https://git.openjdk.java.net/jfx/pull/215/files
 Webrev: https://webrevs.openjdk.java.net/jfx/215/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8244647
  Stats: 10 lines in 1 file changed: 4 ins; 0 del; 6 mod
  Patch: https://git.openjdk.java.net/jfx/pull/215.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/215/head:pull/215

PR: https://git.openjdk.java.net/jfx/pull/215


More information about the openjfx-dev mailing list