以下是代码块,我一直在尝试验证 jFormatedTextFeild 。键入键时(任何键)代码块似乎对键入的第一个键执行。但是对于第二个键输入正常工作!请帮帮我:(
private void jFormattedTextField_ByingPriceKeyTyped(KeyEvent evt) {
System.out.println("key typed action ");
String checking = jFormattedTextField_ByingPrice.getText();
Pattern ptrn = Pattern.compile("[A-Z,a-z,&%$#@!()*^]");
Matcher match = ptrn.matcher(checking);
if(match.find()){
txtPriceMessage.setVisible(true);
//text field which contains the message does not appears
//for first key typed only it appears when second key is typed.
} else {
txtPriceMessage.setVisible(false);
}
}
答案 0 :(得分:1)
使用DocumentFilter
实时过滤文本组件的值,这就是它的设计目标。看看these examples,甚至还有PatternFilter
用于正则表达式......
要进行发布验证,请使用InputVerifier