Java 爪哇及&;on if语句不起作用

Java 爪哇及&;on if语句不起作用,java,if-statement,boolean-logic,Java,If Statement,Boolean Logic,我使用此代码在两个字段都已填写时启用按钮,在两个字段都未填写时禁用按钮: if (jTextFieldAccountName.getText().isEmpty() && jPasswordFieldAccountPassword.getPassword().length == 0) { jButton_Next.setEnabled(false); } else { jButton_Next.setEnabled(true); } 但即使我只输入其中一

我使用此代码在两个字段都已填写时启用按钮,在两个字段都未填写时禁用按钮:

if (jTextFieldAccountName.getText().isEmpty() &&
    jPasswordFieldAccountPassword.getPassword().length == 0) {
    jButton_Next.setEnabled(false);
} else {
    jButton_Next.setEnabled(true);
}

但即使我只输入其中一个字段,按钮也会启用。为什么?

你的陈述很有效。按照编写方式,只有当两个字段都为空时(如果
jtextfieldcountname
为空且
jPasswordFieldAccountPassword
长度等于0),该按钮才会被禁用。当您在第一个字段中键入内容时,两个字段不再为空,因此条件设置为false,并且您的按钮被启用

如果要在启用按钮之前输入这两个字段,请将逻辑更改为:

if ((!jTextFieldAccountName.getText().isEmpty()) && (jPasswordFieldAccountPassword.getPassword().length > 0)) {
            jButton_Next.setEnabled(true);
        }
        else {
            jButton_Next.setEnabled(false);
        }

如果使用此逻辑,还可以将密码设置为最小长度(例如,密码>6或类似的长度)

你的陈述很有效。按照编写方式,只有当两个字段都为空时(如果
jtextfieldcountname
为空且
jPasswordFieldAccountPassword
长度等于0),该按钮才会被禁用。当您在第一个字段中键入内容时,两个字段不再为空,因此条件设置为false,并且您的按钮被启用

如果要在启用按钮之前输入这两个字段,请将逻辑更改为:

if ((!jTextFieldAccountName.getText().isEmpty()) && (jPasswordFieldAccountPassword.getPassword().length > 0)) {
            jButton_Next.setEnabled(true);
        }
        else {
            jButton_Next.setEnabled(false);
        }

如果使用此逻辑,还可以将密码设置为最小长度(例如,密码>6或类似的长度)

我想您是想使用OR逻辑运算符,即
|

如果(文本框为空或密码太小),则

然后尝试以下代码:

if ( jTextFieldAccountName.getText().isEmpty()
     || jPasswordFieldAccountPassword.getPassword().length < 6 )
{
    jButton_Next.setEnabled(false);
} else {
    jButton_Next.setEnabled(true);
}
if(jtextfieldcountname.getText().isEmpty())
||jPasswordFieldAccountPassword.getPassword().length<6)
{
jButton_Next.setEnabled(false);
}否则{
jButton_Next.setEnabled(true);
}

注意:我还更改了密码条件,因为密码应至少为6个字符。

我认为您的意思是使用OR逻辑运算符,即
|

如果(文本框为空或密码太小),则

然后尝试以下代码:

if ( jTextFieldAccountName.getText().isEmpty()
     || jPasswordFieldAccountPassword.getPassword().length < 6 )
{
    jButton_Next.setEnabled(false);
} else {
    jButton_Next.setEnabled(true);
}
if(jtextfieldcountname.getText().isEmpty())
||jPasswordFieldAccountPassword.getPassword().length<6)
{
jButton_Next.setEnabled(false);
}否则{
jButton_Next.setEnabled(true);
}

注意,我还更改了密码条件,因为密码应至少为6个字符。

您好,它可以工作,谢谢,但当我尝试此操作时。。。文本字段和密码都为空,并且按钮已被禁用。。。当我键入文本字段时,按钮仍处于禁用状态,然后键入密码,按钮仍处于禁用状态。。。它只在我尝试在textfield上添加1个字符时启用,以便按钮将被启用…对。上面的逻辑只有在帐户名和密码字段中有数据时才会启用该按钮。您好,它工作正常,谢谢,但当我尝试此操作时。。。文本字段和密码都为空,并且按钮已被禁用。。。当我键入文本字段时,按钮仍处于禁用状态,然后键入密码,按钮仍处于禁用状态。。。它只在我尝试在textfield上添加1个字符时启用,以便按钮将被启用…对。只有在帐户名和密码字段中有数据时,上述逻辑才会启用该按钮。