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

全屏阶段在JavaFX2.1中工作不正常?

祁和通
2023-03-14

我加载的第一阶段总是以全屏的方式正常打开。

stage.setFullScreen(true);
stage.setScene(login_scene); 

但当我切换到另一个FXML时,应用程序将保持全屏(没有顶部工具栏..),但实际视图内容将从FXML中调整根锚窗格的PrefWidth/PrefHeight的大小(我可以在我的右下角看到桌面:),并且我希望它与我的屏幕分辨率是动态的。

多谢了。

@稍后编辑:

因此,在主类的start方法上,我加载了一个场景(从FXML文档创建),并将其设置为Stage(start method param)。我把这个阶段留着以后用。

当我按下与之前保存的相同阶段的按钮时,我将场景更改为另一个FXML文档

@截图:

 @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-重新加载第二个场景后-以下示例控制器类中的代码

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

共有1个答案

伯英锐
2023-03-14

我不知道真正的原因,但这里有两个快速的解决方法。
HandleButtonAction方法中:
1)不要创建新场景,只需替换其内容

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

2)如果你真想创建新场景,那么切换全屏

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

  • 我对全屏舞台有意见。我有一个主阶段,当应用程序启动时立即进入全屏,然后当用户调用特定事件时,我创建第二阶段,它也是全屏的,但它显示图像,其背景是透明的,所以主阶段及其内容仍然可见。 问题是当我显示这个新的舞台并将其设置为全屏模式时,它会使我的主舞台退出全屏模式并调整大小。 主要舞台的创作: 新阶段的创建:

  • 我正在处理碎片,所以在我的视图寻呼机中有三个碎片 因此,我在第一个片段中使用了方法,所以当我从一个片段切换到另一个片段并返回到第一个片段时,我的方法不起作用 所以有人给出解决方案吗

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

  • 我尝试在我的应用程序中扮演角色。但我一直有个消息。 在数据库中,我有列角色和值USER或ADMIN 重新控制器 如果我评论

  • 我正在使用CodeIgniter3.0。6.目前正在一页网站上工作,该网站具有搜索功能。我在codeigniter的配置文件中启用了csrf_保护选项,并使用form_open()函数创建表单。 当我按下submit按钮时,搜索功能运行良好,但在提交表单后,当我刷新页面时(使用任何刷新页面的功能,如从keybord或浏览器刷新),CSRF不工作,并显示错误“您请求的操作不允许”。 注意:我使用po