protected void consume() {
switch(id) {
  case KeyEvent.KEY_PRESSED:
  case KeyEvent.KEY_RELEASED:
  case MouseEvent.MOUSE_PRESSED:
  case MouseEvent.MOUSE_RELEASED:
  case MouseEvent.MOUSE_MOVED:
  case MouseEvent.MOUSE_DRAGGED:
  case MouseEvent.MOUSE_ENTERED:
  case MouseEvent.MOUSE_EXITED:
  consumed = true;
  break;
  default:
  // event type cannot be consumed
}
} protected boolean isConsumed() {
return consumed;
}

解决方案 »

  1.   

    参考。
     Limit TextField input to a maximum length
    [JDK11] import java.awt.*;
    import java.awt.event.*;public class TextFieldWithLimit extends TextField 
       implements KeyListener {
       private int  maxLength;
       public TextFieldWithLimit 
              (String initialStr,int col,int maxLength) {
         super(initialStr,col);
         this.maxLength = maxLength;
         addKeyListener(this);
         }
       public TextFieldWithLimit (int col,int maxLength) {
         this("",col,maxLength);
         }   public void keyPressed(KeyEvent e) { 
        char c = e.getKeyChar();
        int len = getText().length();
        if (len < maxLength) {
          return;
          }
        else {
          if((c==KeyEvent.VK_BACK_SPACE)||
            (c==KeyEvent.VK_DELETE) ||
            (c==KeyEvent.VK_ENTER)|| 
            (c==KeyEvent.VK_TAB)||
             e.isActionKey())
             return;
          else {
             e.consume(); 
             }
          }
       }
       public void keyReleased(KeyEvent e) { }
       public void keyTyped(KeyEvent e) { }
       } 
      

  2.   

    谢谢了,真他妈笨,为什么consume()要加个参数呢,哈哈,不好意思!
    好象运行e.consume()后,consume由false 变为true,再运行一下e.consume(),那个consume()还是不变啊!!!给你们加分先!!