java - 从 JTextField 中删除 InputVerifier

标签 java swing jtextfield inputverifier

我真的很惊讶this is not in the documentationat least google .

我有一个类可能需要删除 validator 或将其替换为另一个 validator 。特别是,这些方法是在接口(interface)中定义的:

  /**
   * Add the verifier
   */
  public void bind();
  /**
   * Remove the verifier from input
   */
  public void unbind();

我可以实现绑定(bind):

  /**
   * Binds the events to the field using InputVerifier
   */
  @Override
  public void bind() {
    //Internal verifier
    final SettingsInputVerifier<T> verif = this.verifier;
    //Event to be called if new value is valid
    final ValueChanged<T> onchange = this.onchange;
    //Only works when you leave the field
    field.setInputVerifier(new InputVerifier() {
      @Override
      public boolean verify(JComponent in) {
        //If verification fails, return false and ignore the value
        if(!verif.verify(in))
          return false;
        //Sucessful verification means we get the value and update it
        onchange.changed(verif.value(in));
        return true;
      }
    });
  }

但是如何从 JTextField 取消设置输入 validator ?

最佳答案

试试这个方法:

field.setInputVerifier(null);

关于java - 从 JTextField 中删除 InputVerifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760881/

相关文章:

java - Firebase实时数据库,从键值对获取数据

java - 学习 Swing 和 Jframe 之类的东西 - 还想了解一些有关组织的提示和技巧

java - 如果单词包含字母,如何将字母填入刽子手游戏中的空白处?

java - JList 未在 JButton 按下时更新

java - springdoc-openapi-maven-plugin配置/apiDocsUrl的作用是什么?

java - java如何获取响应对象

java - 如何正确使用带套接字的 HandlerThread?

java - 开源 Swing 应用程序

java - 使用来自另一个 JComboBox 的值在 JComboBox 中显示数据

java - 检查 JTextField 是否为数字