繁体   English   中英

在JTextField中使用evt.consume()将小写转换为大写

[英]Convert lower to upper case using evt.consume() in JTextField

我创建了一种方法来验证JTextField。 当我输入任何字母字符时,它应该自动转换为大写字符,但是我没有得到大写字母。

使用evt.consume()时如何解决此问题?

程式码片段:

public void PRJ_TEXT_VALIDATION(JTextField PTxt, int PTxtLen, String POptnStr, KeyEvent Pevt){
               String TmpStr=PTxt.getText();
               char TmpChar=Pevt.getKeyChar();
               //TmpChar=Character.toUpperCase(TmpChar);
               if ((TmpStr.trim().length() + 1) <= PTxtLen){
                   if (POptnStr == "INTEGER") {
                      if (!((TmpChar>='0') && (TmpChar<='9'))){
                          Pevt.consume();
                      }
                   } else if (POptnStr == "NUMERIC"){
                          if(!((TmpChar>= '0' && TmpChar <= '9') || (TmpChar == '.'))){
                                Pevt.consume();
                          }
                  } else if (POptnStr == "ALPHABET"){
                         if(!(TmpChar>= 'a' && TmpChar <= 'z' || TmpChar >= 'A' && TmpChar <='Z')){
                             Pevt.consume();
                          }
                 } else if (POptnStr == "PHONE"){
                        if (!((TmpChar>= '0' && TmpChar <= '9') || (TmpChar == '-')||
                           (TmpChar == '+')||(TmpChar == '(')||(TmpChar == ')'))){
                            Pevt.consume();
                         }
                }
            }else{
                 Pevt.consume();
             }
         }

使用文档过滤器可实现此目的。 您可以在DocumentFilter中找到将小写字母映射为大写字母的用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM