JavaFX8滑块:最小值和主刻度单位

JavaFX8滑块:最小值和主刻度单位,javafx,slider,javafx-8,Javafx,Slider,Javafx 8,我有一个JavaFX滑块: 如您所见,最小值为1,主刻度单位为5 但我想要实现的是: 或者至少是这样: 基本上,我想将整个比例向左移动1个刻度。但是怎么做呢? (我也看到了,但难道没有更快更简单的方法吗?或者我真的需要为这个小任务定义自己的滑块吗?) 编辑 好吧,我试着做我自己的滑球。但我真的迷路了 这是我逻辑上想要做的;但我不知道如何实际操作: public class ImprovedTicksSlider extends Slider { public void setT

我有一个JavaFX滑块:

如您所见,最小值为1,主刻度单位为5

但我想要实现的是:

或者至少是这样:

基本上,我想将整个比例向左移动1个刻度。但是怎么做呢?

(我也看到了,但难道没有更快更简单的方法吗?或者我真的需要为这个小任务定义自己的滑块吗?)


编辑 好吧,我试着做我自己的滑球。但我真的迷路了

这是我逻辑上想要做的;但我不知道如何实际操作:

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?!
    }
}

我想你差不多明白了。您必须使用自定义滑块,因为此基本滑块仅支持定期的刻度间隔

自定义滑块实际上没有那么大,您可以在FXML中导入它,所以这不是一个大问题