你要控制的是个文本输入框吗?
如果是,你可以自己写个类(扩展PlainDocument),自己写insertString()方法。
在这个方法中,你自己写哪些字符要处理,哪些不处理。

解决方案 »

  1.   

    用document的方法我知道,不过我想知道如何去控制键盘
      

  2.   

    直接在你的那个方法里
    return;##是你需要的结果吗?
      

  3.   

    在KeyTyped(KeyEvent ke)事件里用ke.setKeyChar(ke.CHAR_UNDEFINED);
      

  4.   

    public void keyTyped(KeyEvent ke)
    {
    if ((ke.getKeyChar()>'9'||ke.getKeyChar()<'0')&&ke.getKeyChar()!='')       
       ke.setKeyChar(ke.CHAR_UNDEFINED);        
       //禁止除了数字和退格键之外其他键的输入                   
    }         
      

  5.   

    void jTextField1_keyTyped(KeyEvent e) {        char ch=e.getKeyChar();
            if ((ch>'9'||ch<'0')&&(ch!=e.VK_BACK_SPACE)){
                e.setKeyChar('\0');
            }
        }
      

  6.   

    用return不行,01101230的方法可以。不过在KeyTyped里getKeyCode()不起作用,用getKeyChar()判断字符时退格键的字符有点怪
      

  7.   

    下面可能有助于你的理解    /**
         * KEY_TYPED events do not have a keyCode value.
         * This value is used, instead.  
         */
        public static final int VK_UNDEFINED      = 0x0;
        /**
         * KEY_PRESSED and KEY_RELEASED events which do not map to a
         * valid Unicode character use this for the keyChar value.
         */
        public static final char CHAR_UNDEFINED   = 0x0ffff;For KEY_TYPED events, keyCode is VK_UNDEFINED.int  keyCode;char keyChar;