Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8187899

Stage doesn't respect its min/max size properties for its initial size

XMLWordPrintable

    • Cause Known
    • b151
    • 9
    • generic
    • windows

      FULL PRODUCT VERSION :
      java version "9"
      Java(TM) SE Runtime Environment (build 9+181)
      Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 10.0.15063]

      A DESCRIPTION OF THE PROBLEM :
      If the min/max size of the stage is set before the stage is shown, the stage won't respect these properties for its initial size. After you move or resize the window, the size adjusts.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Run the attached code.
      (2. Move or resize the window)

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      The initial size of the stage should be (600,600) because of the minHeight- and the minWidth-property.
      ACTUAL -
      The initial size of the stage is (400,400).

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.Label;
      import javafx.scene.layout.StackPane;
      import javafx.stage.Stage;

      public class StageSizeBug extends Application{

          public static void main(String[] args){
              launch(args);
          }
          @Override
          public void start(Stage primaryStage) throws Exception {
              Label label = new Label("initial size of window is (400,400)\n" +
                      "->move or resize window\n" +
                      "->size of window changes to (600,600)\n" +
                      "EXPECTED: initial size should be (600,600)\n" +
                      "because of the minHeight- and the minWidth-property of the stage");
              StackPane pane = new StackPane(label);
              Scene scene = new Scene(pane,400,400);
              primaryStage.setScene(scene);

              primaryStage.setMinHeight(600);
              primaryStage.setMinWidth(600);

              //similar problem with
              //primaryStage.setMaxHeight(200);
              //primaryStage.setMaxWidth(200);

              primaryStage.show();

              //workaround: set properties here
          }
      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Set the properties after the stage is shown.

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: