java - 关于Java中JTextField的一个问题

标签 java string object-identity

尽管设计非常简单,但在运行我编写的 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/

相关文章:

java - JAXBContext 初始化加速?

ios - 如何从 url 获取 objectID?

java - 在 java 中运行 charAt 时出现意外的类型错误

java - 按下按钮时在 jtable 列中显示和隐藏密码字符

python - 在for循环中操作字符串

string - ConvertFrom-Sting 模板解析数组失败

java - Morphia 保存新实体而不是更新 _id

python - 在 Python (2.7) 中,为什么 os.remove 与 os.unlink 不同?

java - 我应该读什么书来替代 "Head First Servlets and JSP"?

r - 检测不同数据框中的字符串,从 R 中的列返回值