我正在使用来自here的范围滑块的修改代码。它主要使用标准的Java滑块代码。
在页面下方的评论中,here,B.Oytun Peksal为一个拇指提供了推送另一个拇指的代码,但他只为UpperThumb提供了代码。
尽管进行了多次尝试,但我无法找出拇指较低的代码并且他没有回复我的请求。任何人都可以弄清楚其他拇指的代码应该是什么?我的Java还可以,但显然不是这个。提前谢谢。
这是他提供的代码的副本:
case JSlider.HORIZONTAL:
int halfThumbWidth = thumbRect.width / 2;
int thumbRight = currentMouseX - offset;
int trackLeft = trackRect.x - halfThumbWidth;
int trackRight = trackRect.x + (trackRect.width - 1);
int hMin = (int) thumbRect.getCenterX();
// Apply bounds to thumb position.
thumbRight = Math.max(thumbRight, trackLeft);
thumbRight = Math.min(thumbRight, trackRight);
hMin = hMin - halfThumbWidth;
if (thumbRight >= hMin)
{
setUpperThumbLocation(thumbRight, upperThumbRect.y);
// Update slider extent.
thumbMiddle = thumbRight + halfThumbWidth;
slider.setExtent(valueForXPosition(thumbMiddle) - slider.getValue());
}
else
{
thumbMiddle = thumbRight + halfThumbWidth;
setThumbLocation(thumbRight, thumbRect.y);
slider.setValue(valueForXPosition(thumbMiddle));
setUpperThumbLocation(thumbRight, upperThumbRect.y);
slider.setExtent(valueForXPosition(thumbMiddle) - slider.getValue());
}
break;
default:
return;
}