The GridPane is not empty: gridPane.add(sceneTitleHBox, 0, 0, 2, 1); Label usernameLabel = new Label("Username:"); gridPane.add(usernameLabel, 0, 1);
TextField usernameText = new TextField(); gridPane.add(usernameText, 1, 1); Label passwordLabel = new Label("Password:"); gridPane.add(passwordLabel, 0, 2); PasswordField passwordField = new PasswordField(); gridPane.add(passwordField, 1, 2); gridPane.add(buttonLoginHBox, 0, 4, 2, 1); gridPane.add(buttonLoginActionMessage, 1, 6); On Thu, Aug 23, 2018 at 8:22 PM David Grieve <david.gri...@oracle.com> wrote: > If your GridPane is empty, it won't have any height or width unless you > set min. > > > On 8/23/18 1:16 PM, Miroslav Nachev wrote: > > For Button this works. For GridPane doesn't works: > > gridPane.applyCss(); > > gridPane.layout(); > > double width = gridPane.getWidth(); > > double height = gridPane.getHeight(); > > System.out.println("width=" + width + ", height=" + height); > > --- exec-maven-plugin:1.5.0:exec (default-cli) --- > > width=0.0, height=0.0 > > > > > > On Thu, Aug 23, 2018 at 6:56 PM Shakir Gusaroff < > shakir.gusar...@gmail.com> > > wrote: > > > >> . In javafx 8 you can find the width and height of the node before the > >> Stage has been shown. Use applyCss() and layout(). > >> > >> > >> > >> > >> > >> > >> @Override > >> > >> public void start(Stage stage) throws Exception { > >> > >> > >> > >> Group root = new Group(); > >> > >> Scene scene = new Scene(root); > >> > >> > >> > >> Button button = new Button("Hello World"); > >> > >> root.getChildren().add(button); > >> > >> > >> > >> root.applyCss(); > >> > >> root.layout(); > >> > >> > >> > >> double width = button.getWidth(); > >> > >> double height = button.getHeight(); > >> > >> > >> > >> System.out.println(width + ", " + height); > >> > >> > >> > >> stage.setScene(scene); > >> > >> stage.show(); > >> > >> } > >> > >> > >> On Thu, Aug 23, 2018 at 10:35 AM Miroslav Nachev < > >> mnachev.nscenter...@gmail.com> wrote: > >> > >>> Hi, > >>> > >>> Is there any standard way to calculate the preferred size for Scene, > >>> Node/Pane and Stage/Window? > >>> I want once a form/pane is visualized, it cannot be minimized to a > certain > >>> size. Since I did not find such a built-in opportunity, at the moment > I am > >>> doing the following: > >>> > >>> Scene scene = new Scene(gridPane); > >>> primaryStage.setScene(scene); > >>> primaryStage.sizeToScene(); > >>> > >>> primaryStage.show(); > >>> primaryStage.setMinWidth(primaryStage.getWidth() + 1); > >>> primaryStage.setMinHeight(primaryStage.getHeight() + 1); > >>> primaryStage.setWidth(640); > >>> primaryStage.setHeight(480); > >>> primaryStage.show(); > >>> > >>> The first call to primaryStage.show() (in orange) I do to calculate the > >>> minimum panel size (Scene/GridPane), then set that size as minimum on > >>> primaryStage, and finally set the size I want and visualize the panel > >>> again. > >>> > >>> The unpleasant side effect is, that the panel is no longer at the > center > >>> of > >>> the screen. > >>> > >>> Any ideas? > >>> > >>> > >>> Regards, > >>> Miro. > >>> > >