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

JavaFX Java17-退出全屏事件

狄钧
2023-03-14

我已经在应用程序中添加了一个自定义工具栏(放置窗口操作的位置)。到目前为止,一切进展顺利。与窗口处理相关,我正在寻找处理“全屏关闭”事件的可能性。场景:应用程序以窗口模式启动-

main.java

MainController mc = new MainController();
Parent root = FXMLLoader.load(getClass().getResource("welcome-view.fxml"));
stage.initStyle(StageStyle.TRANSPARENT);
mc.doSwitchScenes(stage, root);
stage.show();

主控制器。JAVA

...
private String title = "Project Apollo";
private Color fillColor = TRANSPARENT;
private int minWidth = 800;
private int minHeight = 600;
...

public void btnMinimize(MouseEvent mouseEvent) {
    Stage stage = (Stage)((Circle)mouseEvent.getSource()).getScene().getWindow();
    // is stage minimizable into task bar. (true | false)
    stage.setIconified(true);
};

public void btnCloseApp(MouseEvent mouseEvent) {
    Platform.exit();
    System.exit(0);
}

public void btnFullscreen(MouseEvent mouseEvent) {
    Stage stage = (Stage)((Circle)mouseEvent.getSource()).getScene().getWindow();
    stage.setFullScreen(true);
    Scene actualScene = ((Node)mouseEvent.getSource()).getScene();
    Parent hbc = (Parent) actualScene.lookup("#headerBarContainer");

    if(hbc != null){
        hbc.setVisible(false);
    }
    System.out.println("clicked FS");

}
...

关键是,至少在MacOS上,窗口有其本机操作系统控件可以退出全屏-是否有可能将此事件作为目标,或者至少阶段大小的变化可能?

共有1个答案

佟英武
2023-03-14

stage。fullScreenProperty()并响应更改:

stage.fullScreenProperty().addListener((ChangeListener) (obs,oldValue,newValue) -> 
                                          {/*TODO respond to changes in full screen */;});
 类似资料:
  • 我试图知道当AVPlayerViewController被解雇或退出全屏,以更改其父视图控制器布局,但我没有运气找到一个委托方法,告诉我当它发生。 我尝试在视图控制器上添加一个观察者,如下所示: 但它从未被触发过。 我只是想知道当被解雇或用户退出全屏。

  • 本文向大家介绍HTML5如何监听video的全屏和退出全屏?相关面试题,主要包含被问及HTML5如何监听video的全屏和退出全屏?时的应答技巧和注意事项,需要的朋友参考一下 监听fullscreenchange事件

  • 我想在按下ESC退出全屏模式后,使功能返回到全屏模式。 有什么方法可以返回到全屏吗? 例如,为了执行全屏模式,我使用了如下方法 在后台,当我按ESC键时,后台退出到全屏。在此处输入图像描述 在此处输入图像描述 然后在这个阶段,我想希望回到全面屏模式。

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

  • 问题内容: 我正在使用Three.js创建3D多人游戏,玩家可以在其中加入各种现有游戏。单击“播放”后,渲染器将附加到页面和全屏。这很好用,但是问题是,当我退出全屏显示时,它仍然保持附加状态。我想删除它,但是我不知道什么时候! 因此,基本上,我正在寻找一个事件,该事件说“此元素退出全屏显示”。 这是将渲染器附加到页面的方法: 如果我如何全屏显示: 此外,是否有办法阻止有人将鼠标指向页面顶部时出现该

  • 没有按钮, 是要退出客户操作的F11全屏, 我要退出