gpt4 book ai didi

java - 除非 javaFX 中两个事件为真,否则如何将按钮设置为保持禁用状态?

转载 作者:行者123 更新时间:2023-11-30 02:28:08 26 4
gpt4 key购买 nike

我有两个单独的 textProperty 监听器来监听 javaFX 应用程序上的更改,以便它可以分别更新密码强度图标和有效用户名图标。这两个函数都从 TextField(用户名)和 PasswordField(密码)获取数据。这些是听众:

if(loginCheck.passwordValidator(password.getText()) == -1) {
passwordImg.setImage(fail);
submit.setDisable(true);
}

if(loginCheck.usernameValidator(username.getText()) == -1) {
usernameImg.setImage(fail);
submit.setDisable(true);
}

当一个或其他函数返回 -1 时,我试图让按钮(提交)保持禁用状态。当任一函数具有正确的输出时,我可以禁用该按钮,但如果不使用单独的 Submit.setDisable(false) 调用,我无法再次启用该按钮;当一个监听器尝试启用该按钮时,它会扁平化,而根据另一监听器,该按钮仍应被禁用。有没有办法将按钮设置为始终保持关闭状态,除非两个事件都为真?

提前致谢!

最佳答案

只需使用逻辑或运算组合您的条件 - ||

boolean invalidPassword = loginCheck.passwordValidator(password.getText()) == -1;
boolean invalidUsername = loginCheck.usernameValidator(username.getText()) == -1;

if (invalidPassword) {
passwordImg.setImage(fail);
}

if(invalidUsername) {
usernameImg.setImage(fail);
}

// if at least one of variables is true then submit will be disabled
submit.setDisable(invalidPassword || invalidUsername);

关于java - 除非 javaFX 中两个事件为真,否则如何将按钮设置为保持禁用状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45043783/

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