JDK-8134354 : Ensemble Media samples sliders don't react to clicks
  • Type: Bug
  • Component: javafx
  • Sub-Component: samples
  • Affected Version: 8u45
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-08-24
  • Updated: 2020-01-31
  • Resolved: 2017-09-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u152Fixed 9Fixed
Related Reports
Blocks :  
Relates :  
Open any media sample, try to seek or change the volume by clicking on the slider, not on the thumb.
The thumb momentarily jumps to the point of click then goes back.
This happens because all slider value change listeners do actual work inside this condition:
if (timeSlider.isValueChanging()) {
which means that it only reacts to the thumb drag.
Webrev for 8u backport: http://cr.openjdk.java.net/~kcr/Ensemble8/separate/01-8134354/webrev/

This is part of an aggregate backport request to port Ensemble8 fixes from FX 9 to FX 8u. See JDK-8168611 for details and review.

NOTE: the bug ID in the changeset comment is incorrect. It should have been 8134354 (not 8134353). This should be fixed for the backport.

@Vadim: can you file a new follow-on bug since the changeset for this was already pushed?

Moreover, Advanced Media doesn't react to changes made by sliders while the video is stopped.

It seems that the Advanced Media sample wasn't fixed...

Another thing I noticed is that in PlayerPane in the timeSlider.valueProperty() in the added else clause the updateValues() call is missing. Perhaps it could be changed as if (timeSlider.isValueChanging() || Math.abs(now.doubleValue() - old.doubleValue()) > 1.5) { ... ?

Morris, Could these ifs just be deleted? if (volumeSlider.isValueChanging()) { mp.setVolume(volumeSlider.getValue() / 100.0); } else { mp.setVolume(volumeSlider.getValue() / 100.0); }

Fixed in 9-dev with this change set: Changeset: 222d8f8a82c6 Author: Morris Meyer <morris.meyer@oracle.com> Date: 2015-09-22 13:51 -0400 URL: http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/222d8f8a82c6 8134353: [Mac] Ensemble Media samples sliders don't react to clicks Reviewed-by: kcr ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/OverlayMediaPlayerApp.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/overlaymediaplayer/PlayerPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/PlayerPane.java ! apps/samples/Ensemble8/src/samples/java/ensemble/samples/media/streamingmediaplayer/StreamingMediaPlayerApp.java