Fullscreen stage is not working properly in JavaFX 2.1?

fullscreen, fxml, java, javafx, layout

Solution

I have no idea about the real cause but here are 2 quick workarounds. In the `handleButtonAction` method: 1) Don't create new scene just replace its content

  @FXML
  private void handleButtonAction(ActionEvent event) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
    JavaFXApplication12.currentStage.getScene().setRoot(root);
  }

2) If you really nead to create new scene then toggle fullscreen

  @FXML
  private void handleButtonAction(ActionEvent event) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
    JavaFXApplication12.currentStage.setScene(new Scene(root));
    Platform.runLater(new Runnable() {
        @Override
        public void run() {
           JavaFXApplication12.currentStage.setFullScreen(false);
           JavaFXApplication12.currentStage.setFullScreen(true);
       }
    });
  }

Problem

The first stage that I load it always open properly as fullscreen. ``` stage.setFullScreen(true); stage.setScene(login_scene); ``` But when I change to another FXML the applications stays fullscreen (no top toolbar.. ), but the actual view content gets resized on the prefWidth/prefHeight of the root AnchorPane from FXML (I can see the desktop in my bottom right corner :|), and I want it to be dynamic to my screen resolution. Thanks. @Later Edit: So on the start method of my main Class I load a Scene (created from an FXML doc) and set it to the Stage (the start method param). I save this stage for later use. When I press a button with the same stage I save previously I change the scene to another FXML document @Screenshots: http://tinypic.com/r/2079nqb/6 - 1st scene works normally - code from start override method of the main class ``` @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml")); stage.setScene(new Scene(root)); stage.setFullScreen(true); stage.show(); currentStage = stage; } ``` http://tinypic.com/r/szfmgz/6 - after reloading the second scene - the code below from sample controller class ``` @FXML private void handleButtonAction(ActionEvent event) throws IOException { Parent root = FXMLLoader.load(getClass().getResource("Sample.fxml")); JavaFXApplication12.currentStage.setScene(new Scene(root)); } ```

Original source