У меня есть ярлык внутри ScrollPane. Я обновляю метку в цикле (в другом потоке). Как я могу обновить ScrollPane, чтобы он прокручивался вниз (не вбок, это будет сделано вручную), если пользователь не удерживает его в позиции? Есть ли для этого сеттер?JavaFX - автоматически прокручивать ScrollPane
ответ
@math спасибо, что работал!
@FXML private ScrollPane scroll; //this must match the fx:id of the ScrollPane element or be the scrollpane object
scroll.setVvalue(1.0); //1.0 means 100% at the bottom
И я решил эту проблему «необходимо смотрящей на вкладке» с этой частью кода
tab.setOnSelectionChanged(new EventHandler<Event>() {
@Override
public void handle(Event arg0) {
ScrollPane.setVvalue(1.0);
}
});
На самом деле в вашем вопросе не так много информации о том, какое событие должно уволить свиток, поэтому мне было невозможно определить его самостоятельно. – Math
Спасибо в любом случае. Вся проблема - вкладка, но я думал, что должен включить то, что я сделал, на случай, если кто-то найдет это полезным! – user3029101
Чтобы установить ScrollPane в нижней части автоматически устанавливается vvalue
элемента ScrollPane, как это:
@FXML private ScrollPane scroll; //this must match the fx:id of the ScrollPane element
scroll.setVvalue(1.0); //1.0 means 100% at the bottom
Это не работает. (Offtopic: зачем использовать FXML? (Иногда я использую java и CSS)). Фактически, он работает, только если я на вкладке. (Если я открыл конкретную вкладку) – user3029101
Файл 'FXML', где вы создаете свою сцену, затем в' Controller.java' вы управляете элементами, связывающими переменную через элемент 'fx: id'. Если он работает только в том случае, если вы находитесь на вкладке, это означает, что вы должны поместить '.setVvalue()' в другое место, в зависимости от того, когда вы хотите его запустить, возможно, где-то в потоке, где вы пишете в своей этикетке , – Math
Я строю свою сцену с чистой java – user3029101
Если вы используете либо HBox или VBox в ScrollPane, попробуйте следующее:
hBox.heightProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldvalue, Object newValue) {
scrollPane.setHvalue((Double)newValue);
}
});
Это работает только случайно, когда высота окна больше или равна '1.0', это максимальное значение по умолчанию для свойства' hvalue', которое, в свою очередь, должно быть 'vvalue'. Таким образом, прослушиватель недействительности достаточно. См. [Мой ответ] (https://stackoverflow.com/a/49037369/3453226) для более правильного решения. –
Это работает в моем коде:
scrollPane.vvalueProperty().bind(mainGrid.heightProperty());
в моем случае ScrollPane содержит mainGrid
Для прокрутки панели прокрутки в нижней части полностью, установите его vvalue
property в 1.0
:
scrollPane.setVvalue(1D);
Примечание это может не работать при вызове после изменения содержимого панели скроллинга.
В таком случае, если задержки вызова через Platform.runLater()
не решает проблему, рассмотреть вопрос об установлении значения свойства в ответ на событие содержания height
property недействительности:
vBox.heightProperty().addListener(observable -> scrollPane.setVvalue(1D));
- 1. ScrollPane JavaFX позволяет прокручивать больше?
- 2. JavaFX - прокручивать ScrollPane пока нажата кнопка
- 3. Javafx initial ScrollPane position
- 4. JavaFX - ScrollPane и размер
- 5. JavaFX ScrollPane setEditable()
- 6. Координата JavaFX внутри scrollpane
- 7. JavaFX ScrollPane styling
- 8. Получения моего ScrollPane прокручивать под programatic контроля
- 9. Масштабированный контент в JavaFX Scrollpane
- 10. JavaFX ScrollPane PannableProperty с TitledPane
- 11. JavaFX auto-scroll down scrollpane
- 12. JavaFX ScrollPane никогда не прокручивается
- 13. JavaFX: Получить видимую область ScrollPane
- 14. Как заблокировать панель ScrollPane JavaFX
- 15. Добавление JList в JavaFX ScrollPane
- 16. JavaFX - Перетаскивание узлов + ScrollPane назад?
- 17. JavaFX - ScrollPane/VBox - Автоматическая усадка
- 18. Полоса прокрутки JavaFX ScrollPane отключена
- 19. JavaFX: Добавить детей в ScrollPane
- 20. Позиция Javafx Node в Scrollpane
- 21. Граница и фон ScrollPane JavaFX
- 22. Поддельный скроллинг с JavaFX 8 ScrollPane
- 23. JavaFX: Как скопировать ScrollPane, содержащую кнопки Button?
- 24. JavaFX TextField: как «автоматически прокручивать» вправо при переполнении текста
- 25. JavaFX ScrollPane update viewportBounds на прокрутке
- 26. Автоматически прокручивать нижнюю часть текстовой области
- 27. Автоматически прокручивать div
- 28. JavaFX ScrollPane не заполняет родительскую панель
- 29. JavaFX: метод ScrollPane GetChildren() не видно
- 30. Как увеличить прокрутку ScrollPane в JavaFX?
Не мог бы вы объяснить это 'если трюм пользователя оленьей кожи это на позиции'? – Math
Если пользователь не прокручивается. – user3029101