Foro de elhacker.net

Programación => 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
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

Código:
......
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):

Código:

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:

Código:

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):

Código:

    /* 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