我正在使用netbeans和Java SE编写一个简单的GUI,我似乎无法使输入验证正常工作。我有一个JTextField和2个JPasswordField对象,我想在用户点击提交按钮时检查这些字段是否为空。如果密码字段为空,它可以正常工作,但是如果我在用户名字段中输入内容,则在其他表单元素未填充数据时,它会打印已提交的数据。以下是下面的代码,非常感谢任何帮助......
// test that none of the fields are empty before submitting form data
if (!username_input.getText().isEmpty() && !password_input1.getPassword().toString().isEmpty()
&& !password_input2.getPassword().toString().isEmpty())
{
System.out.println("Data has been submitted!");
}
else
{
System.out.println("Form has not been filled in correctly!\nPlease try again");
}
答案 0 :(得分:1)
使用类似
的内容!username_input.getText().toString().equals("")&&
!new String(password_input1.getPassword()).equals("") &&
!new String(password_input2.getPassword()).equals("")
答案 1 :(得分:0)
将boolean expression
更改为:
!username_input.getText().isEmpty() &&
password_input1.getPassword().lenght == 0 &&
password_input2.getPassword().lenght == 0
方法getPassword()
会返回char array
,您需要在lenght == 0
中查看JPasswordField
的空值。