gpt4 book ai didi

java - 60 秒不活动后退出 Java 应用程序?

转载 作者:行者123 更新时间:2023-11-29 04:48:23 26 4
gpt4 key购买 nike

我开发了一个 Java Swing 应用程序,我想让它在大约 60 秒内没有 Activity 时自动注销。我尝试过使用 Java 计时器,但在我尝试过的许多示例中,它们似乎都不起作用。

这是我最近尝试过的一个(也是唯一一个在代码中没有任何错误的):

int seconds;
Timer timer;
Toolkit toolkit;
public void AutoLogout()
{
toolkit = Toolkit.getDefaultToolkit();
timer = new Timer();
timer.schedule(null, 5000);
if(seconds == 0)
{
LoginPage lp = new LoginPage();
lp.setVisible(true);
this.dispose();
}
}

但是,当我运行该应用程序时,它会在堆栈跟踪中得到以下输出:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.util.Timer.sched(Timer.java:399)
at java.util.Timer.schedule(Timer.java:193)
at AdminMainPage.AutoLogout(AdminMainPage.java:1078)
at AdminMainPage.<init>(AdminMainPage.java:23)
at AdminMainPage$35.run(AdminMainPage.java:1289)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

我尝试了几个来自 Stackoverflow 的示例,但没有一个有效。我还能如何让系统在 60 秒不活动后自动注销?

最佳答案

查看 Application Inactiviy对于将在给定时间段后调用 Action 的简单类。

该代码使用 AWTEventListener 来监听事件。每次生成事件时,都会重新启动 Swing Timer。当 Swing Timer 触发时,将调用您指定的 Action

关于java - 60 秒不活动后退出 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36337058/

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