当前位置: 首页 > 知识库问答 >
问题:

JavaFX全屏阶段调整大小

井学
2023-03-14

我对全屏舞台有意见。我有一个主阶段,当应用程序启动时立即进入全屏,然后当用户调用特定事件时,我创建第二阶段,它也是全屏的,但它显示图像,其背景是透明的,所以主阶段及其内容仍然可见。

问题是当我显示这个新的舞台并将其设置为全屏模式时,它会使我的主舞台退出全屏模式并调整大小。

主要舞台的创作:

    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);

共有1个答案

咸浩初
2023-03-14

我解决了这个问题,使用stage.set最大化(真),而不是设置为全屏,它的工作。我不知道这是否是好的解决方案,但我只是想把它贴在这里。

 类似资料:
  • 我是JavaFX技术的新手,目前我正在开发JavaFX应用程序,其中有一个未装饰的阶段,我可以使用下面的代码在屏幕上移动它,但我无法从右下角调整此窗口的大小,有人能给我建议解决方案吗。

  • 有可用的组合键方法如下: 是否有任何方法可以捕获鼠标点击或触摸屏亭的任何组合以退出全屏锁定?

  • 问题内容: 我加载的第一阶段始终可以全屏正常打开。 但是,当我更改为另一个FXML时,应用程序将保持全屏显示(没有顶部工具栏。),但是实际视图的内容将根据FXML从根AnchorPane的prefWidth / prefHeight调整大小(我可以在右下角看到桌面:| ),并且希望它能动态适应我的屏幕分辨率。 谢谢。 @稍后编辑: 因此,在我的主类的start方法上,我加载了一个场景(从FXML文

  • 我有过 用户可以配置为全屏模式的主要阶段 用户可以打开的辅助阶段(工具窗口)。这些窗口应始终位于主阶段的顶部(无论其是否处于全屏模式)。 后者不起作用,即使我使用作为次要阶段,一旦用户单击主要阶段,它们将消失在主要阶段之后。这只发生在主阶段处于全屏模式时,如果主阶段不处于全屏模式,一切正常。如何在全屏舞台前启用工具窗口的概念?示例代码: 2016年8月20日更新:确认为错误:JDK-8164210

  • 我正在尝试使用两列创建一个具有特定布局的窗口,但我不能完全按照我想要的方式工作。 首先,一些简化的示例代码: 以下是我想要的: 微调器和按钮应使用所有可用宽度 我试着使用各种各样的限制,但我无法让一切都正常工作。我认为我发现的主要问题是,在让微调器使用可用宽度后,它们在缩小窗口时拒绝收缩。 我正在Linux中使用Oracle JDK 1.8.0\u 60。