Validar JTextField

Iniciado por MC.cover, 23 Abril 2018, 05:26 AM

0 Miembros y 1 Visitante están viendo este tema.

MC.cover

Hola buenas :)
Tengo un pequeño problema y espero que me puedan ayudar :)
cree este codigo para que mi JTexField solo hacepte los numeros del 0 al 9 ahora quiero que tambien acepte el "." y que se pueda poner una unica vez que si se trata de introducir mas veces que no deje. Espero me puedan ayudar desde ya muchas gracias :)

Código (java) [Seleccionar]

public void SoloNumerosReales(KeyEvent keyEvent) {
        try {
            char key = keyEvent.getCharacter().charAt(0);
            if((key < '0') || (key > '9')) {
                keyEvent.consume();
            }
        }catch (Exception e){ }
    }


Este metodo se lanza cuando se preciona una tecla del taclado en un JTextField estoy usando JAVAFX para la creacion de la visual.

kingk

Hola, puedes hacerlo de esta forma:

      txt.addKeyListener(new KeyAdapter(){
         public void keyTyped(KeyEvent ev){
            String num=String.valueOf(ev.getKeyChar());
            if((num.codePointAt(0)< 48 || num.codePointAt(0)>57) && num.codePointAt(0)!=46){
               ev.consume();
            }
            if(txt.getText().length()>5 || (txt.getText().isEmpty() && num.equals("."))){
               ev.consume();
            }
            if(num.codePointAt(0)==46 && txt.getText().contains(".")){
               ev.consume();
            }
         }
      });
Espero te haya sido util.