键入的键事件不适用于键入的第一个键。 java的

时间:2014-04-17 06:11:52

标签: java regex swing keylistener jtextcomponent

以下是代码块,我一直在尝试验证 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);
    }
}

1 个答案:

答案 0 :(得分:1)

使用DocumentFilter实时过滤文本组件的值,这就是它的设计目标。看看these examples,甚至还有PatternFilter用于正则表达式......

要进行发布验证,请使用InputVerifier