为了账号安全,请及时绑定邮箱和手机立即绑定

听三个手指的手势?

听三个手指的手势?

GCT1015 2022-12-28 10:12:54
我正在为我的计算机科学老师制作一个 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);此外,如果您还有其他方法可以在没有退出代码的情况下退出此应用程序,那么这些方法是什么?我将如何阻止用户利用它们?
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

您可以尝试使用 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));


查看完整回答
反对 回复 2022-12-28
  • 1 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信