gpt4 book ai didi

java - 如何限制用户在一定时间内不能与程序进行交互?

转载 作者:行者123 更新时间:2023-11-30 08:37:39 25 4
gpt4 key购买 nike

我试图限制用户在一段时间内与程序交互,但很遗憾,没有成功。我试过使用 Thread.sleep,但是一旦 sleep 操作结束,用户的输入就会跟上并继续执行直到完成。

例如,如果我使用下面的代码,程序会像上面提到的那样工作:它会在提供的时间段(1.5 秒)内 hibernate ,然后用户的操作会跟上(它会打印“等待之后” 用户在 Thread.sleep 处于 Activity 状态时点击的次数)。那么我该如何防止呢?任何建议将不胜感激。

public void mouseClicked(MouseEvent e) {
print();
}

public void print() {
System.out.println("After waiting.");
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}

最佳答案

原因是Thread.sleep()会阻塞UI Thread。因此,通过第一次单击,您将获得一个输出,并且您的应用程序将存储以下在 hibernate 期间再次单击的事件。然后,在您的 GUI 线程从 hibernate 中恢复后,事件被释放并且一些打印提示被执行直到它 hibernate 。因为

阻塞 UI-Thread 不是很简单。如果您想阻止用户输入,您应该禁用触发事件的按钮或节点,并在处理完成后启用它。

关于java - 如何限制用户在一定时间内不能与程序进行交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37068706/

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