private void doDragSlider(MouseEvent mouseEvent, boolean adjusting) { if (getDraggedSliderIndex() != INVALID_INDEX) { int x = mouseEvent.getX(); x = Math.max(x, sliderBaseLineRect.x); x = Math.min(x, sliderBaseLineRect.x + sliderBaseLineRect.width); final double newSample = computeSliderValueForX(getDraggedSliderIndex(), x); setSliderSample(getDraggedSliderIndex(), newSample, adjusting); if (isFirstSliderDragged() || isLastSliderDragged()) { partitionSliders(adjusting); } } }
@Override public void mousePressed(MouseEvent mouseEvent) { hidePopup(); resetState(); // on linux: popup is triggered on mousePressed // on windows: popup is triggered on mouseReleased if (!maybeShowSliderActions(mouseEvent)) { setDraggedSliderIndex(getNearestSliderIndex(mouseEvent.getX(), mouseEvent.getY())); if (isFirstSliderDragged() || isLastSliderDragged()) { computeFactors(); } } }