Javafx如何在使用鼠标滚轮悬停在vbox/window上时加速滚动条和滚动
我的程序包含一个与Scrollbar()对象分组的vbox。我知道了如何使用鼠标滚轮滚动,但当它在vbox或窗口中时,我需要它使用鼠标滚轮滚动(它当前仅在鼠标悬停在滚动条上时滚动)。我还想加快它的滚动速度。我是javafx的新手,因此非常感谢您的帮助 当前滚动的方法:Javafx如何在使用鼠标滚轮悬停在vbox/window上时加速滚动条和滚动,javafx,Javafx,我的程序包含一个与Scrollbar()对象分组的vbox。我知道了如何使用鼠标滚轮滚动,但当它在vbox或窗口中时,我需要它使用鼠标滚轮滚动(它当前仅在鼠标悬停在滚动条上时滚动)。我还想加快它的滚动速度。我是javafx的新手,因此非常感谢您的帮助 当前滚动的方法: public void addMouseScrolling(Node node) { node.setOnScroll((ScrollEvent event) -> { // scro
public void addMouseScrolling(Node node) {
node.setOnScroll((ScrollEvent event) -> {
// scroll up or down
node.setTranslateY(node.getTranslateY() + event.getDeltaY());
});
}
有关滚动条和分组对象的代码(如果需要):
Group root = new Group();
ScrollBar sc = new ScrollBar();
sc.setMin(0);
sc.setMax(650);
sc.setPrefHeight(200);
sc.setOrientation(Orientation.VERTICAL);
// tile pane is created
VBox vbox = new VBox(5);
vbox.getChildren().add(btnC);
vbox.getChildren().add(btnD);
vbox.getChildren().add(btnO);
vbox.getChildren().add(btnG);
vbox.getChildren().add(btnJ);
vbox.setLayoutX(25);
root.setLayoutY(15);
sc.setLayoutX(1);
primaryStage.setScene(new Scene(root, 250, 650));
root.getChildren().addAll(vbox, sc);
sc.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
vbox.setLayoutY(-new_val.doubleValue());
}
});
组根=新组();
ScrollBar sc=新的ScrollBar();
sc.setMin(0);
sc.setMax(650);
sc.setPrefHeight(200);
sc.setOrientation(方向垂直);
//此时将创建平铺窗格
VBox VBox=新的VBox(5);
vbox.getChildren().add(btnC);
vbox.getChildren().add(btnD);
vbox.getChildren().add(btnO);
vbox.getChildren().add(btnG);
vbox.getChildren().add(btnJ);
vbox.setLayoutX(25);
根.刚毛(15);
sc.setLayoutX(1);
原始阶段。设置场景(新场景(根,250650));
root.getChildren().addAll(vbox,sc);
sc.valueProperty().addListener(新的ChangeListener()){
公共无效已更改(可观察值)