首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序的“安全/锁定窗口”,windows 10

程序的“安全/锁定窗口”,windows 10
EN

Stack Overflow用户
提问于 2020-11-01 06:17:06
回答 2查看 65关注 0票数 0

我正在努力思考如何为我的JavaFX项目创建一个“安全窗口”。本质上,程序不会在正常的桌面上显示它的内容,而是进入一种安全模式,在这种模式下只显示程序,你不能最小化,例如查看Google。如果有人熟悉的话,这将模仿有多少学校的州级测试程序有效。只是寻找一些链接或信息来指引我正确的方向,因为我知道这是可能的,只是不确定要查找什么。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-11-01 07:33:57

我会将Stage设置为全屏,总是在顶部,并设置为StageStyle.UNDECORATED。然后,我会为任何WindowEvent添加一个EventFilter并使用该事件。

代码语言:javascript
复制
public class App extends Application {

    @Override
    public void start(Stage stage) {
        
        stage.initStyle(StageStyle.UNDECORATED);
        stage.setAlwaysOnTop(true);
        stage.setFullScreen(true);
        stage.addEventFilter(WindowEvent.ANY, Event::consume);
        stage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
        
        StackPane root = new StackPane();
        Scene scene = new Scene(root);
        
        stage.setScene(scene);

        stage.show();
    }

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

}

注意:您仍然有键盘问题,如转义或Alt。

票数 2
EN

Stack Overflow用户

发布于 2020-11-01 06:36:09

只需在初始化器中编写3行代码,就可以实现这一点

代码语言:javascript
复制
Rectangle2D visualBounds= Screen.getPrimary().getVisualBounds(); //Get the screen size
Scene scene = new Scene(root, visualBounds.getWidth(), visualBounds.getHeight());//Make sure the program fills length and width of the screen
primaryStage.setScene(scene);
primaryStage.setAlwaysOnTop(true);//Keeps it always on top
primaryStage.initStyle(StageStyle.UNDECORATED);//Remove the handy close/minimize buttons
primaryStage.show();

这会让测试变得非常烦人,一旦你点击run,它就会占据你的屏幕。因此,请确保有一些方法可以从程序中安全地退出程序。(如果你不介意突然终止程序,你可以随时使用alt+F4)

编辑:我刚刚在Windows10环境下测试了它。就像一种护身符。即使是任务管理器也无法做到这一点

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64626929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档