Try using StackPane in place of Pane. Pane is pretty basic in term of layout capabilities.
Eric On 11 Sep 2014, at 01:46, Kevin Smith <[email protected]> wrote: > If we have a Pane containing a ScrollPane containing a GridPane, > everything works as expected. But as soon as we inject a second Pane > (which is hard for us to avoid in this case), the ScrollPane no longer > grows to fit its space. See the example app below. Without "inner", it > works great. > > Is there a simple way to get the ScrollPane to fill its parent? > > I have tried every combination of prefWidth and prefViewportWidth that I > can think of, and I have tried Border Pane, and nothing has worked. I > have searched the web, but have been unable to find an answer to this. > If the answer is already out there, please feel free to just point me to > it. > > I just upgraded to Java 8u20, which didn't help. > > Thanks, > > > Kevin > > public class FxScrollPaneTest extends Application > { > public static void main(String[] args) > { > launch(args); > } > > @Override > public void start(Stage primaryStage) > { > primaryStage.setTitle("Hello World!"); > > GridPane grid = new GridPane(); > > grid.add(new Label("upper left"), 0, 0); > grid.add(new Label("upper right"), 1, 0); > grid.add(new Label("lower left"), 0, 1); > grid.add(new Label("lower left"), 1, 1); > > Pane root = new Pane(); > Pane inner = new Pane(); > root.getChildren().add(inner); > ScrollPane scroller = new ScrollPane(grid); > inner.getChildren().add(scroller); > primaryStage.setScene(new Scene(root, 300, 250)); > primaryStage.show(); > } > }
