Change scene in full screen JavaFX
19,691
A full runnable testable code could be helpful. Also provide your system environment details. I have tested your code below (try yourself) which works on my windows 7 64 bit with JavaFX version 2.2.0.
(I will update my answer as you provide more details and lastly welcome to stackoverflow!)
Update: Ok I guess your primary stage was in full screen mode initially. In that case you need to toggle full screen mode. See below.
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBoxBuilder;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Test extends Application {
private Stage primaryStage;
@Override
public void start(Stage primaryStage) {
this.primaryStage = primaryStage;
this.primaryStage.setFullScreen(true);
Button btn = new Button("Login");
btn.setOnAction(loginClienteHandler());
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("JavaFX version: " + com.sun.javafx.runtime.VersionInfo.getRuntimeVersion());
primaryStage.setScene(scene);
primaryStage.show();
}
public EventHandler loginClienteHandler() {
EventHandler evh = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setScene(new Scene(VBoxBuilder.create().children(new Text("text")).build()));
primaryStage.sizeToScene();
primaryStage.setFullScreen(false);
primaryStage.setFullScreen(true);
}
};
return evh;
}
public static void main(String[] args) {
launch(args);
}
}
Related videos on Youtube
Comments
-
cefeboru over 1 year
I'm new to JavaFX. I have my main and secondary scenes; when I change from the first scene to the second one, the window's bar becomes visible. How can I fix that?
Here is my code
public class ProyectoTeoriaBD1 extends Application { Stage primaryStage; public static void main(String[] args) { launch(args); } @Override public void start(final Stage primaryStage) { this.primaryStage = primaryStage; GridPane gp = new GridPane(); gp.setHgap(10); gp.setVgap(10); gp.setPadding(new Insets(25,25,25,25)); Scene firstScene = new Scene(gp); Button b = new Button("Change Scene"); gp.add(b,1,1); primaryStage.setScene(firstScene); primaryStage.setFullScreen(true); primaryStage.show(); b.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { GridPane gp = new GridPane(); Scene secondScene = new Scene(gp); Text txtSecond = new Text("Second Scene"); gp.add(txtSecond, 1, 1); primaryStage.setScene(secondScene); primaryStage.setFullScreen(false); primaryStage.setFullScreen(true); } }); }
}
-
cefeboru over 11 yearsthanks for replying, now i have edite my question so you can see what i hav done,i did what u said but it doesnt seems to work :(
-
Uluk Biy over 11 years@user1667217. The same code worked for me. I mean the windows bar still stays invisible. Is it also correct for you? Which version of JavafX are you using? Check it by System.out.println(com.sun.javafx.runtime.VersionInfo.getRuntimeVersion());
-
cefeboru over 11 yearsit looks like my version is 2.1.0-b21, but i already figured it out how to make it, i just had to change the root thank for your time and help :D
-
Xdg almost 11 yearsToggle fullscreen works, but there is "Press ESC to exit fullscreen" message shown. And this message cannot be disabled:(