【问题标题】:Convert lower to upper case using evt.consume() in JTextField在 JTextField 中使用 evt.consume() 将小写转换为大写
【发布时间】:2012-01-30 09:00:51
【问题描述】:

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

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

代码sn-p:

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

【问题讨论】:

  • 请学习java命名约定并遵守它们

标签: java swing jtextfield


【解决方案1】:

使用文档过滤器来实现这一点。 你可以在DocumentFilter that maps lowercase letters to uppercase找到用法。

【讨论】:

  • 感谢您的帮助。我得到了一个输出。
猜你喜欢
  • 2017-06-30
  • 2011-07-21
  • 2014-11-07
  • 1970-01-01
  • 2018-08-17
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-10-29
相关资源
最近更新 更多