Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: A L E J O en 4 Noviembre 2009, 04:57 AM

Título: solo numeros en java
Publicado por: A L E J O en 4 Noviembre 2009, 04:57 AM
hola tengo un programa que me recoge de una caja de texto   JTextField txt2;  un valor y deseo que solo sea numerico y no caracter?????



tambien deseo que de otra caja de texto   JTextField txt3;    que ingrese caracteres en minuscula se conviertan en mayuscula.   ??????


GRACIAS    A L E J O
Título: Re: solo numeros en java
Publicado por: sapito169 en 4 Noviembre 2009, 08:13 AM
-la caja de texto indicata que presenta validacion y reformato de texo es JFormatedTextfield
-JFormatedTextfield es una de las clases mas conplicadas y poderosas de java
-ya hay un componente que se valida solo por defecto que su contenido sea solo numero JSpiner


recomiendo
para la primera pregunta


para la segunda
simplemente arrastra y pega un JSpiner de tu ide a tu formulario y nada mas
Título: Re: solo numeros en java
Publicado por: Debci en 4 Noviembre 2009, 15:25 PM
Cita de: A L E J O en  4 Noviembre 2009, 04:57 AM
hola tengo un programa que me recoge de una caja de texto   JTextField txt2;  un valor y deseo que solo sea numerico y no caracter?????



tambien deseo que de otra caja de texto   JTextField txt3;    que ingrese caracteres en minuscula se conviertan en mayuscula.   ??????


GRACIAS    A L E J O
Puedes usar el metodo String.parseInt(); para pasar de string a int u otros.

Saludos
Título: Re: solo numeros en java
Publicado por: sapito169 en 4 Noviembre 2009, 17:54 PM
solucion  :D


......
public class miVentatinata extends JFrame{
.....
public miVentatinata(){
......
jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextField1FocusLost(evt);
            }
        });

}

private void jTextField1FocusLost(java.awt.event.FocusEvent evt) {
        jTextField1.setText(jTextField1.getText().toUpperCase());
    }

}

Título: Re: solo numeros en java
Publicado por: Trickman en 6 Noviembre 2009, 01:04 AM
Veamos, supongo que quieres que te controle los caracteres sobre la marcha, ¿no? O sea, que diréctamente solo te deje escribir números o que te cambie diréctamente a mayúsculas cada letra.

Para el primer problema (siempre y cuando por "numérico" te refieres a "entero" y no a flotante o a double, puesto que ahí deberías controlar otros caracteres además de los dígitos):



public void compruebaPulsacionEntero(java.awt.event.KeyEvent e) {
   char teclaPulsada = e.getKeyChar(); // Recogemos, a partir del evento, la tecla que se pulsó

   if (!Character.isDigit(teclaPulsada)) { // Si la tecla pulsada no es un dígito, entonces...
       e.consume(); // Borramos la última letra introducida (lo hace muy rápido, la
                           // letra nunca se escribe en el textfield)
   }
}



Para el segundo problema, es casi lo mismo, pero cambiando alguna cosilla:



public void convierteMayusculas(java.awt.event.KeyEvent e) {
   char teclaPulsada = e.getKeyChar(); // Recogemos, a partir del evento, la tecla que se pulsó

   Character.toUpperCase (teclaPulsada); // La convertimos a mayúsculas
   
}



Y, para que reaccione el textField a estos cambios, lo que tienes que hacer es escribir, en el método donde defines el textfield ( getTextField2() o getTextField3(), en tu caso), lo siguiente (insisto, escribelo DENTRO del método donde defines el textfield):



   /* Le decimos al textfield que "escuche" cuando le escriban un caracter */
   <NOMBRE_DE_ESTE_TEXTFIELD>.addKeyListener(new java.awt.event.KeyAdapter()) {
       public void keyTyped(java.awt.event.KeyEvent e) {
           /* Llama al método para las mayúsculas o oara solo números, el que sea */
       }
   }



¡Y ya está!

¡Saludos!
Título: Re: solo numeros en java
Publicado por: A L E J O en 13 Noviembre 2009, 05:54 AM
MUCHAS GRACIAS ME SIRVIO UN RESTO
TE agradezco