Опитвам се да изчисля координатите на сцената от дете в ScrollPane
. Направихме това на няколко други възли в нашия проект с този метод
this.boundsInLocalProperty().addListener( ( observable, oldValue, newValue ) ->
{
final Bounds boundsOnScene = this.localToScene( newValue );
..
} );
Наистина е лесно, но как мога да изчисля координатите на децата в ScrollPane
, дори когато конкретният възел в момента е извън границите на изгледа? Нашата FXML структура изглежда така
<ScrollPane>
<VBox>
<Pane/>
<Pane/>
<Pane/>
</VBox>
</ScrollPane>
Търсих известно време в интернет, но не мога да разбера откъде да започна. Може би някой може да ме насочи в правилната посока?
Редактиране: благодарение на коментар на James_D Разбрах какво липсва. В ScrollPane
слушателят boundsInLocalProperty
няма да бъде извикан по време на превъртане, така че трябваше да добавя
this.localToSceneTransformProperty().addListener( ( observable, oldValue, newValue ) ->
{
final Bounds boundsOnScene = this.localToScene( this.getBoundsInLocal() );
...
} );
за да се вземе предвид поведението при превъртане.
boundsInLocal
няма да се промени, когато потребителят превърта, така че слушателят няма да бъде извикан и вие няма да преизчислите границите на сцената. Опитайте да добавите слушател къмlocalToSceneTransformProperty
- person James_D   schedule 08.11.2017