JTextField只允许输入数字和字母

JTextField   text   =   new   JTextField(); 
text.addKeyListener(new   TextFieldKeyListener()); 

    class   TextFieldKeyListener   implements   KeyListener{ 
        public   void   keyPressed(KeyEvent   e){ 

        } 
        public   void   keyReleased(KeyEvent   e){ 

        } 

        public   void   keyTyped(KeyEvent   e){ 
            Object   o   =   e.getSource(); 
            if   (o   instanceof   JTextField){ 
                char   keyCh   =   e.getKeyChar(); 

Pattern pat = Pattern.compile("[0-9]|[a-z]|[A-Z]");
                if   (!pat.matcher(String.valueOf(keyCh)).matches()){ 
                    if   (keyCh   !=   ' ')   //回车字符 
                        e.setKeyChar( '\0 '); 
                } 
            } 
        } 
    } 

你可能感兴趣的:(textfield)