elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Validar que solo se escriban numero de dos dígitos en un jtextfield
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validar que solo se escriban numero de dos dígitos en un jtextfield  (Leído 7,881 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Validar que solo se escriban numero de dos dígitos en un jtextfield
« en: 27 Marzo 2012, 20:17 pm »

Estoy tratando de hacerlo poniéndole un DocumentFilter al Document del JTextField, pero no me funciona...

Código
  1. JtextField txtNumero1 = new JTextField();
  2. final PlainDocument doc = new PlainDocument();
  3. doc.setDocumentFilter(new DocumentFilter() {
  4. public void insertString(FilterBypass fb, int off, String str, AttributeSet a)
  5. {
  6. if (fb.getDocument().getLength() + str.length() <= 2) {
  7. fb.insertString(off, str, a);
  8. }
  9. }
  10. });
  11. txtNumero1.setDocument(doc);
  12.  

También hay algo que no entiende ese código, ¿para qué sirve los parámetros FilterBypass y off?


« Última modificación: 27 Marzo 2012, 20:53 pm por Aikanáro Anário » En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Validar que solo se escriban numero de dos dígitos en un jtextfield
« Respuesta #1 en: 28 Marzo 2012, 00:03 am »

si le aplicas  a tu jtextfield este metodo???
setColumns(int)

no te entiendo muxo ...


En línea

goll9d

Desconectado Desconectado

Mensajes: 43


if (you==this.understand){ world.getGirlfriend() }


Ver Perfil
Re: Validar que solo se escriban numero de dos dígitos en un jtextfield
« Respuesta #2 en: 29 Marzo 2012, 02:31 am »

Y si prubas asignandole el valor del jtextfield a una variable int y haces una sentencia if

Código
  1.  
int i = interger.parseint(...); //No me acuerdo muy bien el nombre del metodo :P :P :P
if(i.length==2){
..........
}else{
jtext.settext(null);
}
En línea

Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Validar que solo se escriban numero de dos dígitos en un jtextfield
« Respuesta #3 en: 29 Marzo 2012, 23:37 pm »

Si simplemente quieres validarlo una vez se ha escrito el texto puedes hacerlo con expresiones regulares. Simplemente podrías hacer lo siguiente:

Código
  1. String texto = field.getText();
  2. if(texto.matches("\d\d")){
  3. ...
  4. }
  5. else{
  6.   System.out.println("Solo numeros de dos cifras");
  7. }

Es decir, dejas que el usuario escriba, recuperas el texto escrito, aplicas la expresión regular con el método de la clase String matches y si es verdadero será porque el usuario ha escrito dos digitos.

Si lo que quieres es restringir que al pulsar una tecla se refleje en el propio campo me imagino que podría hacerse manejando los eventos de las teclas presionadas y restringiendo que solo sean numéricas, sin embargo no me parece una solución muy "elegante".

Saludos.
En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Validar que solo se escriban numero de dos dígitos en un jtextfield
« Respuesta #4 en: 31 Marzo 2012, 17:38 pm »

Al final decidí optar por el JFormattedTextField y el InternationalFormatter
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
azknight

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Validar que solo se escriban numero de dos dígitos en un jtextfield
« Respuesta #5 en: 11 Julio 2012, 07:56 am »

hay una manera sencilla de validar los textfields.  Es usar un listener para los eventos que se generen del teclado, en mi parecer y con el tiempo que llevo programando me parece el método mas eficaz y mas versátil, pues puedes validar lo que sea.

Componente.Textbox.addKeyListener(new KeyAdapter() {
        public void keyTyped(KeyEvent e){

        int caracter = e.getKeyChar();
        if((caracter < '0') || (caracter > '9')){
                java.awt.Toolkit.getDefaultToolkit().beep();
                e.consume();}
        if(TxtCedula.getText().length()>1){
                java.awt.Toolkit.getDefaultToolkit().beep();
                e.consume();
        }
                }
            });
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con número de dígitos.
Programación C/C++
Jaraysedal 1 2,955 Último mensaje 2 Noviembre 2010, 20:32 pm
por Littlehorse
Validar email en jtextfield
Java
berna1001 2 8,707 Último mensaje 14 Mayo 2011, 03:14 am
por Valkyr
¿como validar si un JTextField esta vació o ocupado en java?
Java
SoyBolita 3 4,918 Último mensaje 16 Febrero 2016, 19:49 pm
por 0xFer
limitando cantidad de digitos en jtextfield Netbeans
Java
jelsir 3 3,008 Último mensaje 30 Julio 2016, 22:41 pm
por Once
Validar JTextField
Java
MC.cover 1 2,418 Último mensaje 24 Abril 2018, 05:53 am
por kingk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines