gpt4 book ai didi

java - 保持 Java Thread 一直运行

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

寻找一种优雅的方式来保持 Java 线程始终在后台运行,只要应用程序正在运行,JavaFX 应用程序就会检查用户凭据是否有效。我将在 Thread 中做的是在一定时间间隔后让用户过期

最佳答案

如果您想使登录超时,您可以使用 PauseTransition 使登录过期:

Duration timeout = Duration.minutes(...);
PauseTransition logoutTimer = new PauseTransition(timeout);
logoutTimer.setOnFinished(e -> expireCredentials());
logoutTimer.play();

如果你需要在任何时候重置超时,你可以这样做

logoutTimer.playFromStart();

它会重置计时器。

您还可以使用 JavaFX 属性使其在应用程序中易于管理。例如

private BooleanProperty loggedIn = new SimpleBooleanProperty();

// ...

public void expireCredentials() {
loggedIn.set(false);
}

然后需要用户登录的操作可以检查这个属性:

if (loggedIn.get()) {
doSecureOperation();
}

并且 UI 控件可以将它们的状态绑定(bind)到它:

submitSecureDataButton.disableProperty().bind(loggedIn.not());
loginButton.disableProperty().bind(loggedIn);

或许

private ObjectProperty<Credentials> credentials = new SimpleObjectProperty<>();

// ...

public void expireCredentials() {
credentials.set(null);
}

// ...

submitSecureDataButton.disableProperty().bind(credentials.isNull());
loginButton.disableProperty().bind(credentials.isNotNull());

关于java - 保持 Java Thread 一直运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49184164/

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