Foro de elhacker.net

Programación => Java => Mensaje iniciado por: MC.cover en 23 Abril 2018, 05:26 am



Título: Validar JTextField
Publicado por: MC.cover en 23 Abril 2018, 05:26 am
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
  1. public void SoloNumerosReales(KeyEvent keyEvent) {
  2.        try {
  3.            char key = keyEvent.getCharacter().charAt(0);
  4.            if((key < '0') || (key > '9')) {
  5.                keyEvent.consume();
  6.            }
  7.        }catch (Exception e){ }
  8.    }
  9.  

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


Título: Re: Validar JTextField
Publicado por: kingk en 24 Abril 2018, 05:53 am
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.