Полоса прокрутки в Javafx не прокручивается - PullRequest
0 голосов
/ 06 января 2020

У меня есть пара линейных диаграмм внутри 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());
    }
});

У меня проблема с полосой прокрутки, потому что она не делать ничего, и я даже не вижу конца этому. Вот пример этого: scrollbar_with enter image description here

1 Ответ

2 голосов
/ 06 января 2020

Я согласен с VGR, вы должны использовать ScrollPane. Однако кажется, что ваш ScrollBar слишком высокий, вы можете попробовать:

sc.maxHeightProperty().bind(scene.heightProperty());

Я скопировал и вставил ваш код, и ваш слушатель работает, я не тестировал тот же HBox, и я полагаю, что он также HBox которые фиксируют положение GridPane.

Вы можете попытаться bind() вручную установить вашу позицию ScrollBar, но вы можете попробовать использовать LineChartVBox.setTranslateY(-new_val.doubleValue());

...