gpt4 book ai didi

java - 聆听 3 个手指的手势?

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:58 26 4
gpt4 key购买 nike

我正在为我的计算机科学老师制作一个 Java 应用程序,该应用程序允许他通过从 Google Drive 文件夹加载大量 PDF 并使用 Java Swing 将它们显示到 JScrollPane 上来为学生提供数字测试。这个应用程序的目标是让测试变得不可避免,这样学生就不能通过谷歌寻找答案来作弊。然后,在类(class)结束时,我的老师将告诉学生一个代码,允许他们通过将代码输入 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);

此外,如果您可以想到其他方法来退出此应用程序而无需退出代码,这些方法是什么?我该如何阻止用户利用它们?

最佳答案

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

关于java - 聆听 3 个手指的手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56400155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com