程序的"Secure/Lockdown Window",Windows 10



我正在考虑如何为我的JavaFX项目创建一个"安全窗口"。从本质上讲,该程序不会在普通桌面上显示其内容,而是进入一种安全模式,只有程序在显示,你无法最小化,例如查看谷歌。如果有人熟悉的话,这将模仿许多学校的州测试项目。只是在寻找一些链接或信息,为我指明正确的方向,因为我知道这是可能的,只是不确定该查找什么。谢谢

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

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

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

您基本上可以在初始化器中使用3行代码来实现这一点

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(

编辑:我刚刚在Windows 10环境中测试了它。工作起来很有魅力。即使是任务经理也无法控制

相关内容

  • 没有找到相关文章

最新更新