听三个手指的手势?

我正在为我的计算机科学老师制作一个 Java 应用程序,允许他通过从 Google Drive 文件夹加载大量 PDF 并使用 Java Swing 将它们显示到 JScrollPane 上来为学生提供数字测试。这个应用程序的目标是让测试不可避免,这样学生就不会通过去谷歌寻找答案来作弊。然后,在课程结束时,我的老师会告诉学生一个代码,允许他们通过将应用程序输入 JTextField 来退出该应用程序。目前,此应用程序的 JFrame 设置有以下设置:


Frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

这意味着,在大多数情况下,应用程序是无法逃脱的,让用户停留在 JFrame 上,直到他们输入代码退出。我面临的问题是,有一些方法可以通过计算机内置的手势退出应用程序或将其最小化。具体来说,我正在查看的是用 3 根手指在触控板上向下滑动,这会最小化应用程序,从而允许用户打开 Google。据我所知,没有办法暂时禁用计算机内置的手势,所以我能看到的下一个最佳选择是听用户将 3 个手指放在触控板上,然后拒绝用户滚动的能力。有没有办法做到这一点 ?此外,如果您还有其他方法可以在没有退出代码的情况下退出此应用程序,这些方法是什么?我将如何阻止用户利用它们?


Frame.setExtendedState(JFrame.MAXIMIZED_BOTH);

Frame.setUndecorated(true);

Frame.setVisible(true);

Frame.setAlwaysOnTop(true);

Frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

此外,如果您还有其他方法可以在没有退出代码的情况下退出此应用程序,那么这些方法是什么?我将如何阻止用户利用它们?


GCT1015
浏览 68回答 1
1回答

catspeake

您可以尝试使用 WindowAdapter 来阻止 JFrame 的最小化。当按下最小化(或记录手势)时,WindowAdapter 应该只覆盖 JFrame 的默认操作。private WindowAdapter getWindowAdapter(JFrame frm) {return new WindowAdapter() {  @Override  public void windowIconified(WindowEvent we) {    frm.setState(JFrame.NORMAL);  }};并将 WindowListener 添加到您的 JFrame:frm.addWindowListener(getWindowAdapter(frm));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java