在keyPress事件中编写处理程序,如判断JTextArea长度若达到某个值,则将key置为0

解决方案 »

  1.   

    use javax.swing.JFormattedTextField or  DocumentListener
      

  2.   

    import java.awt.Toolkit;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyAdapter;
    //this class for monitoring keyTyped
     public class KeyAction extends  KeyAdapter{
        
    public void keyTyped(KeyEvent e){
    char ch=e.getKeyChar();
    String detectStr;

    //only 0 to 9  backspace or delete key character can be input
    if(ch>0x2f&&ch<0x3a||ch==0x08||ch==0x10||ch==0x2e){

    }else{
      Toolkit.getDefaultToolkit().beep();
        e.consume();//for consuming the listener
    }
     
    }//end of keyTyped

     
    }//end of class
      

  3.   

    楼上e.consume(); 是关键,它把非法输入的事件给屏蔽掉了,
    不过,根据经验,这个Listener应当是最后被add的
      

  4.   

    可以使用extern "C"来让C++函数为C语言使用。不过,编译器要支持C++才行