全屏阶段出现问题。我有1个主要阶段,当应用程序启动时立即进入全屏,然后当用户调用特定事件时,我创建第二阶段也是全屏,但它显示图像并且其背景是透明的,因此主要阶段及其内容是仍然可见。
问题是,当我显示这个新舞台并将其设置为全屏模式时,它会使我的主舞台退出全屏模式并调整大小。
创建主要阶段:
root = new StackPane();
scene = new Scene(root);
stage = primaryStage;
scene.setOnKeyReleased(event -> {
if (event.getCode() == KeyCode.ESCAPE) {
close();
}
});
stage.setScene(scene);
stage.setFullScreen(true);
stage.setFullScreenExitHint(null);
stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
stage.setOnCloseRequest(closeRequest -> onClose(closeRequest));
创建新阶段:
root = new StackPane();
scene = new Scene(root);
stage = new Stage(StageStyle.TRANSPARENT);
image = new ImageView(new Image(imagePath, 400, 580, true, true));
root.setAlignment(Pos.CENTER);
root.setStyle("-fx-background-color: rgba(0, 0, 0, 0.5)");
root.getChildren().add(image);
scene.setFill(Color.TRANSPARENT);
scene.setOnMousePressed(event -> stage.close());
stage.initOwner(Window.getInstance().getStage());
stage.setScene(scene);
stage.setFullScreen(true);
stage.setFullScreenExitHint(null);
stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
答案 0 :(得分:0)
我通过使用stage.setMaximized(true)解决了这个问题,而不是将其设置为全屏并且工作正常。我不知道这是不是很好的解决方案,但我只想在这里发布。