【发布时间】: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