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

Replacing scene in stage switches off fullscreen mode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • 8u45
    • javafx
    • None
    • JDK 8u45, Win 7 Pro SP1, 64 Bit

      We noticed that replacing the scene in a fullscreen stage switches off fullscreen mode. This behaviour is AFAIK not documented anywhere, hence we assume it is unwanted.

      The following program can be used to proof it (compile, run, then click on "change fullscreen mode" to enable fullscreen mode, then click on "next window".

      Expected Result: Changes scene, but keeps stage in fullscreen mode.
      Actual Result: Changes scene, but disabled fullscreen mode.

      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.Button;
      import javafx.scene.layout.HBox;
      import javafx.scene.layout.VBox;
      import javafx.stage.Stage;

      public class StageTest extends Application {

          public static void main(final String[] args) {
              Application.launch(args);
          }

          @Override
          public void start(final Stage stage) {

              final Button button = new Button("next window");
              button.setOnAction(e -> {
                  final Scene oldScene = stage.getScene();

                  final Button newButton = new Button("previous window");
                  newButton.setOnAction(e2 -> stage.setScene(oldScene));
                  final Button buttonFullscreen = new Button("change fullscreen mode");
                  buttonFullscreen.setOnAction(e2 -> stage.setFullScreen(!stage.isFullScreen()));

                  final Scene newScene = new Scene(new HBox(newButton, buttonFullscreen));
                  stage.setScene(newScene);
              });

              final Button buttonFullscreen = new Button("change fullscreen mode");
              buttonFullscreen.setOnAction(e -> stage.setFullScreen(!stage.isFullScreen()));
              final Scene scene = new Scene(new VBox(button, buttonFullscreen));
              stage.setTitle("Stage Test!");
              stage.setScene(scene);
              stage.show();
          }
      }

            Unassigned Unassigned
            mkarg Markus Karg
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Imported: