我刚开始用java编程,我正在创建一个简单的等待列表。 它似乎运作良好,但我决定包括一个if else结构来检查文本字段不是空的。问题是,它似乎被忽略,因为我没有得到错误或什么..我googled很多if if例子,我不能解决问题不知何故..我做错了什么?您可以在下面找到相关代码。提前谢谢。
public void actionPerformed(ActionEvent e) {
// check if veld1 is filled in.
if ( veld1 == null || veld1.equals( "" ) ) {
// give error
System.out.println("U heeft niets ingevuld in veld1");
}
else {
veld4.setText( veld3.getText() );
veld3.setText( veld2.getText() );
veld2.setText( veld1.getText() );
textveld1.append( veld4.getText() + "\n" );
veld1.setText("");
}
}
答案 0 :(得分:8)
看来veld1不是一个字符串,而是一些Swing控件。 你可能想做
if(veld1.getText() == null || veld1.getText().equals( "" )
答案 1 :(得分:1)
如果veld1
拥有JTextField,您可能希望将语句更改为veld1 == null || veld1.getText() == null || veld1.getText().equals( "" )
,就像在当前代码中一样,检查字段本身是否存在,而不是其内容。
答案 2 :(得分:1)
如果没有看到剩下的内容就难以批准,但veld1.equals("")
看起来很可疑。您正在将veld1
与空字符串进行比较,但veld1
看起来像一个组件。也许你的意思是veld1.getText().equals("")
(同样地,veld1.getText() == null
)
答案 3 :(得分:0)
veld1.equals(“”)与veld1.getText()。equals(“”)不同,第一个是将veld1对象与空字符串进行比较,并且始终为false。