Javafx 中的滚动条不滚动
Scrollbar in Javafx in not scrolling
我在 GridPane 中有几个折线图:
@FXML
private GridPane LineChartVBox = new GridPane();
这是我的滚动条:
ScrollBar sc = new ScrollBar();
sc.setMin(0);
sc.setOrientation(Orientation.VERTICAL);
hbox1.getChildren().addAll(LineChartVBox,sc);
sc.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
LineChartVBox.setLayoutY(-new_val.doubleValue());
}
});
我对滚动条有疑问,因为它什么也没做,我什至看不到它的尽头。
这是它的例子:
我同意 VGR 你应该使用 ScrollPane。
不过你的ScrollBar好像太高了,你可以试试:
sc.maxHeightProperty().bind(scene.heightProperty());
我复制粘贴了你的代码,你的监听器正在工作,我没有用相同的 HBox 进行测试,我想它也是固定 GridPane 位置的 HBox。
您可以尝试 bind()
手动设置滚动条的位置,但您可以尝试使用 LineChartVBox.setTranslateY(-new_val.doubleValue());
我在 GridPane 中有几个折线图:
@FXML
private GridPane LineChartVBox = new GridPane();
这是我的滚动条:
ScrollBar sc = new ScrollBar();
sc.setMin(0);
sc.setOrientation(Orientation.VERTICAL);
hbox1.getChildren().addAll(LineChartVBox,sc);
sc.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
LineChartVBox.setLayoutY(-new_val.doubleValue());
}
});
我对滚动条有疑问,因为它什么也没做,我什至看不到它的尽头。
这是它的例子:
我同意 VGR 你应该使用 ScrollPane。 不过你的ScrollBar好像太高了,你可以试试:
sc.maxHeightProperty().bind(scene.heightProperty());
我复制粘贴了你的代码,你的监听器正在工作,我没有用相同的 HBox 进行测试,我想它也是固定 GridPane 位置的 HBox。
您可以尝试 bind()
手动设置滚动条的位置,但您可以尝试使用 LineChartVBox.setTranslateY(-new_val.doubleValue());