【发布时间】:2018-05-12 15:19:07
【问题描述】:
我遇到了全屏阶段的问题。我有 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);
【问题讨论】: