The peers don't impact the preferred sizes at all. Use this one instead of impl_reapplyCSS (wrong one)
impl_processCSS(true) On Aug 8, 2013, at 2:35 PM, Tom Schindl <tom.schi...@bestsolution.at> wrote: > 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 >> >