基于此示例中的音量旋钮, http: //fxexperience.com/2012/01/fun-javafx-2-0-audio-player/
您将如何制作一个音量旋钮来捕捉特定的角度值,例如每 15 或 30 度?感谢您的任何提示。我所做的是在子类中重新定义 rotateKnob 并以这种方式设置角度,以便滑块捕捉值 180、120、60、0、-180、-160、-120、-60:
Slider s = getSkinnable();
double zeroOneValue = (s.getValue() - s.getMin()) / (s.getMax() - s.getMin());
double angle = minAngle + ((maxAngle - minAngle) * zeroOneValue);
int angleMod = (int) (angle % 60);
double val;
if (angleMod == 0) {
val = (int) angle;
} else if (angleMod > (60 / 2)) {
val = (int) angle - angleMod;
} else {
val = (int) angle - angleMod + 60;
}