JavaFX 8 Slider:最小值和主要刻度单位

时间:2015-01-10 23:04:31

标签: javafx slider javafx-8

我有这个JavaFX Slider:

JavaFX slider

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

但我想要达到的目的是:

desired look 1

或至少这个:

desired look 2

所以基本上,我想将整个比例向左移动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?!
    }
}

1 个答案:

答案 0 :(得分:0)

我觉得你差不多了。您必须使用自定义滑块,因为此基本滑块仅支持常规刻度间隔。

自定义滑块实际上并不大,你可以用FXML导入它,这不是一个大问题。