java - 如何限制用户在 SWT 文本字段中输入特殊字符

标签 java validation swt textfield

我想限制用户在 SWT 文本字段中输入特殊字符。 我尝试了下面的代码,但它不起作用....

   txt_Appname.addKeyListener(new KeyAdapter()
    {
        public void keyTyped(KeyEvent e) {
            char chars = e.character;
            if (!Character.isLetterOrDigit(chars)) {
                e.doit = false;
                return;
            }
        }
    });

任何人都可以给我在 SWT 文本字段中限制特殊字符的工作代码吗?

最佳答案

使用VerifyListener:

txt_Appname.addVerifyListener(new VerifyListener() {
  @Override
  public void verifyText(VerifyEvent e) {
      String text = e.text;
      for (int i = 0; i < text.length(); i++) {
         if (!Character.isLetterOrDigit(text.charAt(i)) {
            e.doit = false;
            return;
         }
      }
  }
});

关于java - 如何限制用户在 SWT 文本字段中输入特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22601068/

相关文章:

java - 子组件与组件依赖关系

Java SWT 不需要的系统蜂鸣声

java - 为什么 HashMap 中更高的负载因子会增加查找成本?

javascript - MVC html5 验证

validation - "required"基于表单中validation_groups的断言

php - MVC 模式中的验证层

java - 未处理的事件循环异常

Java SWT - 从一个图像溶解(淡化)到下一个图像

java - 为 CXF httpConduit 设置 ProxyAuthorizationPolicy 不起作用

java - solr索引存储在内存或磁盘中