我正在尝试Slider
在我的 JavaFX 应用程序中添加一个路径到一个组,该组也包含一个,以便让用户标记与该Slider
值关联的对象的某些特征。但是,路径(在这种情况下是一条垂直线)没有被标记在完全正确的位置。对于较小的值,它在拇指之前,对于较大的值,它在拇指之后。
double pixelsPerValue = slider.getWidth() / (slider.getMax() - slider.getMin());
double leftAdjust = slider.getLayoutX();
double pathX = leftAdjust + (slider.getValue() * pixelsPerValue);
Path path = PathBuilder.create()
.elements(
new MoveTo(pathX, 0)
, new LineTo(pathX, 25)
)
.stroke(Color.CYAN)
.strokeWidth(3)
.translateX(0)
.translateY(27.0)
.build();
注意两点:
- 该组位于 BorderPane 底部的 HBox 中;
- Slider 的最大值由用户想要滚动的对象数量决定,例如 8,617、10,492、6,345 - 你懂的。
知道为什么会这样吗?我该如何解决?