首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java -检查JTextField是否为空

Java -检查JTextField是否为空
EN

Stack Overflow用户
提问于 2013-06-16 18:43:29
回答 10查看 221.6K关注 0票数 29

所以我知道这是一个流行的问题,并且已经找到了解决方案。但是当我尝试这个的时候,它不能正常工作。

我的JTextField为空,该按钮未启用。当我在我的文本字段中写一些东西的时候,按钮不会被激活。

所以我的程序应该每秒检查一次这个字段,不管它是否为空。只要有人在文本字段中输入内容,就应该启用该按钮。^^

代码语言:javascript
复制
loginbt = new JButton("Login");
    loginbt.addActionListener(new loginHandler());
    add(loginbt);

    if(name.getText().equals("")) {
        loginbt.setEnabled(false);
    }else {
        loginbt.setEnabled(true);
    }
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2013-06-16 18:47:55

为此,您需要为JTextField添加change listener (对文本中的更改做出反应的DocumentListener ),并且在actionPerformed()中,您需要根据JTextfield是否为空将loginButton更新为enabled/disabled。

下面是我从这个thread中找到的东西。

代码语言:javascript
复制
yourJTextField.getDocument().addDocumentListener(new DocumentListener() {
  public void changedUpdate(DocumentEvent e) {
    changed();
  }
  public void removeUpdate(DocumentEvent e) {
    changed();
  }
  public void insertUpdate(DocumentEvent e) {
    changed();
  }

  public void changed() {
     if (yourJTextField.getText().equals("")){
       loginButton.setEnabled(false);
     }
     else {
       loginButton.setEnabled(true);
    }

  }
});
票数 37
EN

Stack Overflow用户

发布于 2015-02-01 16:24:48

如果JTextField "name“不包含文本,则下面将返回true:

name.getText().isEmpty

票数 20
EN

Stack Overflow用户

发布于 2013-06-16 18:48:48

您需要的是一种叫做文档侦听器的东西。参见How to Write a Document Listener

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17132452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档