2016-07-29 11 views
0

Wenn versucht folgenden Code zu verwenden, eine Ausnahme java.lang.UnsupportedOperationException aufgetreten:getChildren Verfahren ist aus der Klasse ScrollPane in JavaFX fehlt

ScrollPane scrollPaneIdFx = new ScrollPane(); 
ImageView imageViewIdFx = new ImageView(); 
scrollPaneIdFx.getChildrenUnmodifiable().add(imageViewIdFx); 

und wenn versuchen, unter Code zu verwenden, dann ist getChildren nicht sichtbar aufgrund geschützt Spezifizierer

ScrollPane scrollPaneIdFx = new ScrollPane(); 
ImageView imageViewIdFx = new ImageView(); 
scrollPaneIdFx.getChildren().add(imageViewIdFx); 

Kann jemand vorschlagen, wie man Kinder ScrollPane hinzufügt?

Antwort

3

A ScrollPane speichert sein einzelne Kind im contentProperty:

Der Knoten als der Inhalt dieses ScrollPane verwendet.

Daher korrigierten Code ist:

scrollPaneIdFx.setContent(imageViewIdFx); 

Bei Sie möchten mehrere Node s in einem ScrollPane der contentProperty speichern sollte auf einen der Behälter (Parent Objekt), dann die Node s eingestellt werden, sollte diesem Container hinzugefügt werden.

1

Es gibt nur ein einziges "Kind", das Sie zu einem ScrollPane hinzufügen sollten: das content. Wenn Sie eine ScrollPane wünschen, die mehrere Node enthält, fügen Sie sie zu einer geeigneten Parent (z. B. Pane) hinzu und verwenden Sie diese Parent als Inhalt der ScrollPane.

Beispiel

VBox content = new VBox(); 
content.getChildren().add(child1); 
content.getChildren().add(child2); 
... 
scrollPane.setContent(content);