No same result! > BorderPane g = new BorderPane(); > TableView<String> v = new TableView<String>(); > g.setCenter(v); > Scene s = new Scene(g); > primaryStage.setScene(s); > g.impl_reapplyCSS(); > System.err.println(g.prefWidth(-1)); // 0 > primaryStage.show();
Could it be that this does not work because if a stage is not yet shown the peers have not been created? Tom On 08.08.13 23:29, Richard Bair wrote: > Yes, the problem is that CSS has not been executed yet. If you call > reapplyCSS (did we add that API yet? or is it still that impl_?) then you can > get a proper size from the control. > > Richard > > On Aug 8, 2013, at 2:26 PM, Tom Schindl <tom.schi...@bestsolution.at> wrote: > >> Hi, >> >> I've been trying to open a window in the minimal dimension needed by >> components but it looks like size calculations prefHeight/prefWidth only >> works if the stage is shown. >> >> I need the dimensions before showing the stage because I want to >> position it on the lower right of the screen before showing the stage >> because if doing it afterwards leads to flickering. >> >> >>> BorderPane g = new BorderPane(); >>> TableView<String> v = new TableView<String>(); >>> g.setCenter(v); >>> Scene s = new Scene(g); >>> primaryStage.setScene(s); >>> System.err.println(g.prefWidth(-1)); // 0 >>> primaryStage.show(); >>> System.err.println(g.prefWidth(-1)); // 248 >> >> Is this working as designed? >> >> Tom >