尽管设计非常简单,但在运行我编写的 Java 类时,我遇到了一个小问题。我创建了一个 JPanel,并向其添加了四个 JTextField,并且还向该 JPanel 附加了一个按钮。然后,我将 ActionListener 与按下的按钮关联起来。代码如下:
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if (imageIdField.getText() == "" &&
captionField.getText() == "" &&
creditField.getText() == "" &&
titleField.getText()== "")
{
mediaXML = "";
results.clear();
results.put("error1", "more");
}
else
{ ....
}
}
奇怪的是,在我按下“确定”按钮后,我在这四个 JTextField 中输入了文本,但它仍然会落在 IF 分支中,就好像我没有在这四个字段中的任何一个中输入任何文本一样。 我已经调试了一段时间,但没有任何线索。谁能给我一些提示,例如 .getText() == ""是否是测试无输入的有效方法?
提前致谢!
最佳答案
正如已经提到的,使用 ==
是不正确的。为了便于阅读,请尝试:
field.getText().isEmpty()
或
field.getText().trim().isEmpty()
关于java - 关于Java中JTextField的一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4430873/