JTextField limiting character amount input and accepting numeric only

前端 未结 7 1234

here\'s the code that i have on how to limit the character input length

class JTextFieldLimit extends PlainDocument {
  private int limit;
  // optional uppe         


        
7条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-28 00:04

        import java.awt.event.KeyAdapter;    
        import java.awt.event.KeyEvent;    
        import javax.swing.JTextField;        
    
        public class Validation {
    
             public static void validateInt(final JTextField txt){
                txt.addKeyListener(new KeyAdapter() {
    
                       @Override
                       public void keyTyped(KeyEvent e) {
                            char c = e.getKeyChar();
                            if ( ((c < '0') || (c > '9')) 
                                 && (c != KeyEvent.VK_BACK_SPACE)) {
                            e.consume();  // ignore event
                       }
                   }
                });
            }
    
            public static void validatelength(final JTextField txt,final int size){    
                  txt.addKeyListener(new KeyAdapter() {
    
                  @Override 
                  public void keyTyped(KeyEvent e) {     
                      String text = txt.getText();  
                      int length = text.length();  
                      if (length == size) {  
                              e.consume();// ignore event  
                      }
                  }   
            });
         }  
       }
    

提交回复
热议问题