当前位置: 首页 > 面试题库 >

Java-检查JTextField是否为空

桂嘉年
2023-03-14
问题内容

所以我知道这是一个很普遍的问题,已经找到了解决方案。但是,当我尝试这样做时,它无法正常工作。

我的JTextField为空,并且未启用该按钮。当我在文本字段中写入内容时,该按钮未启用。

因此,我的程序应每秒检查一次此字段是否为空。只要有人在文本字段中写入内容,就应启用该按钮。^^

loginbt = new JButton("Login");
    loginbt.addActionListener(new loginHandler());
    add(loginbt);

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

问题答案:

为此,您需要在中添加更改侦听器(一个DocumentListener响应文本更改的侦听器)JTextField,并且在内actionPerformed(),您需要loginButton根据是否JTextfield为空将其更新为enabled
/ disabled 。

以下是我从此线程中发现的内容。

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);
    }

  }
});


 类似资料:
  • 我在运行时遇到一个错误。使用if语句检查是否为空时会导致此错误。

  • 抱歉发了“修复我的代码”的帖子 编辑:与循环的语法比质数更相关,现在也解决了。 我的任务是从控制台取一个整数,并打印出(在不同的行上)从1到n的所有素数。我的方法从n开始,检查它的素数,然后将n递增1,并循环直到n=2。为了检查一个数字是否是素数,我运行一个循环,检查跳水的余数x等于零,x从2开始,停止在根(n)。现在这一切在理论上都是可行的,阅读我的代码,我看不出哪里出错了。 例如,输入10将返

  • 问题内容: 如何检查列表是否为空?如果是这样,系统必须给出一条消息,指出 List为空 。如果不是,则系统必须给出一条消息,指出 List不为空 。用户可以输入数字以停止程序。这是我现在拥有的代码,但这不起作用,它总是显示“列表不为空”。 问题答案: 就像: 请注意,快速浏览该文档将为您提供该信息。

  • 问题内容: 如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢? 问题答案: 只能是或因为它是原始数据类型(+ 变量的默认值为)。如果要使用值,则可以改用类。布尔是一种引用类型,这就是您可以分配给布尔“变量”的原因。例:

  • 我想知道检查列表是否为空的最佳方法是什么。在我的Stream中,我调用两次。它有效,但我不知道它是否正确?它看起来有点难看: 当列表为空并且没有找到任何项目时,我必须抛出错误