Mic*_*rry 7 java javafx scrollpane javafx-2
JavaFX中的ScrollBar类包含一个用于设置单位增量的属性,这就是我所追求的 - 但是我无法找到如何获取此ScrollBar,或者从ScrollPane类中设置其他方式的单位增量!我认为我必须遗漏一些明显的东西 - 我该如何实现这一目标?
您可以将ScrollEventListener设置为ScrollPane,从而覆盖原始行为.这样,例如,我实现了一个水平滚动而不是垂直滚动的ScrollPane.这就是我的代码的相关部分:
public class Overview extends ScrollPane {
...
private void setupHorizontalScrolling() {
this.setOnScroll(new EventHandler<ScrollEvent>() {
@Override
public void handle(ScrollEvent scrollEvent) {
double deltaY = scrollEvent.getDeltaY()*2; // *2 to make the scrolling a bit faster
double width = Overview.this.getContent().getBoundsInLocal().getWidth();
double hvalue = Overview.this.getHvalue();
Overview.this.setHvalue(hvalue + -deltaY/width); // deltaY/width to make the scrolling equally fast regardless of the actual width of the component
}
});
}
...
}
Run Code Online (Sandbox Code Playgroud)
为了满足您的要求,您只需将调用get/setHvalue的行更改为get/setVvalue,然后就可以根据需要调整滚动.
从技术上讲,您应该能够.lookup("scrollbar")在皮肤初始化后使用该方法来访问它(如果滚动条可见)。但我不喜欢这个答案。
根据此错误单,我认为您没有遗漏任何内容:
我鼓励您抓住这一点,展示您的用例,投票,看看将来是否能得到某种回应。