Need help with ScrollPane sizing inside nested panes

Eric Le Ponner eric.le.ponner at oracle.com
Thu Sep 11 12:12:05 UTC 2014


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 <kevin.s at qualitycode.com> 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();
>    }
> }



More information about the openjfx-dev mailing list