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

如何单击鼠标退出JavaFX全屏阶段?

冯茂实
2023-03-14

有可用的组合键方法如下:

stage.setFullScreenExitKeyCombination(KeyCombination.CONTROL_DOWN);

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

共有1个答案

曾阳飙
2023-03-14

没有内置的回调,但您可以简单地使用EventFilter

primaryStage.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> {
    if (primaryStage.isFullScreen() && event.isShortcutDown() && event.isPrimaryButtonDown()) {
        primaryStage.setFullScreen(false);
        event.consume();
    }
});

例子:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class FullScreen extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {

        primaryStage.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> {
            if (primaryStage.isFullScreen() && event.isShortcutDown() && event.isPrimaryButtonDown()) {
                primaryStage.setFullScreen(false);
                event.consume();
            }
        });

        primaryStage.setScene(new Scene(new StackPane()));
        primaryStage.setFullScreen(true);
        primaryStage.show();
    }
}

注:

我现在不能尝试它,但是在触摸屏上,我希望同样的方法是通过使用Swipe事件来工作。

 类似资料:
  • 所以我开始在我的应用程序中为不同的功能设置键,我想知道是否有一种方法可以设置鼠标左键或右键来执行某些操作?我在keycode.java中找不到任何鼠标事件,我不知道如何应用它。 下面是我的代码: 我要完成的是使右键点击你的鼠标按钮停止移动,左键点击再次开始。我该怎么做?谢谢你。

  • 我已经在应用程序中添加了一个自定义工具栏(放置窗口操作的位置)。到目前为止,一切进展顺利。与窗口处理相关,我正在寻找处理“全屏关闭”事件的可能性。场景:应用程序以窗口模式启动- main.java 主控制器。JAVA 关键是,至少在MacOS上,窗口有其本机操作系统控件可以退出全屏-是否有可能将此事件作为目标,或者至少阶段大小的变化可能?

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

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

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