我有这个JavaFX Slider:
如您所见,最小值为1,主刻度单位为5.
但我想要达到的目的是:
或至少这个:
所以基本上,我想将整个比例向左移动1个刻度。但是如何?
(我也看到了this post,但是没有更快更简单的方法吗?或者我真的必须为这个小任务定义自己的Slider?) < / p>
好的,我试着制作自己的滑块。但我真的输了。
这就是我想要逻辑地做的事情;但我不知道如何做到这一点:
public class ImprovedTicksSlider extends Slider {
public void setTickMarks(int majorTickUnit, int minorTickCount) {
// 1.)
// set the first major tick mark at
// getMin() + (majorTickUnit - getMin() % majorTickUnit)
// 2.)
// set minor tick count in the very first block to:
// majorTickUnit - (getMin() % majorTickUnit)
// 3.)
// set all other major tick marks at positions where
// (x % majorTickUnit == 0)
// 4.)
// set all other blocks of minor ticks to (minorTickCount)
// like it would usually be the case in a standard Slider
// ...but how?!
}
}
答案 0 :(得分:0)
我觉得你差不多了。您必须使用自定义滑块,因为此基本滑块仅支持常规刻度间隔。
自定义滑块实际上并不大,你可以用FXML导入它,这不是一个大问题。