Java - jTextField solo numeros y punto (.)

 
Vista:
Imágen de perfil de Efrain

jTextField solo numeros y punto (.)

Publicado por Efrain (28 intervenciones) el 19/01/2016 23:57:53
hola

Nesecito validar que el jTextField solo acepte numeros , pero tambien debe aceptar el punto ( . ) como separador digital
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha aumentado su posición en 645 puestos en Java (en relación al último mes)
Gráfica de Java

jTextField solo numeros y punto (.)

Publicado por felipe (5 intervenciones) el 20/01/2016 05:49:59
prueba este codigo que encontre hace tiempo
1
2
3
4
5
6
7
8
9
10
11
private void campo4KeyTyped(java.awt.event.KeyEvent evt) {
	char c=evt.getKeyChar();
 
 
	if(Character.isLetter(c)) {
		getToolkit().beep();
 
		evt.consume();
 
	}  // TODO add your handling code here:
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Efrain

jTextFiel solo acepte SI Y SOLO SI es un numero o el caracter punto (.)

Publicado por Efrain (28 intervenciones) el 20/01/2016 13:56:19
Gracias Felipe

Con ese codigo te das cuenta si es una letra lo que ingresas ...pero si ingresar caracters especiales como % no hace nada...
igual si cambiamos el isLetter por isDigit nos dice si es un numero ...aun asi se pueden ingresar caracteres epeciales...

Lo que nesecito es que mi jTextFiel solo acepte SI Y SOLO SI es un numero o el caracter punto (.)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Efrain

jTextField solo numeros y punto (.)

Publicado por Efrain (28 intervenciones) el 20/01/2016 15:11:09
Solucione de esta manera

1
2
3
4
5
6
7
8
9
10
11
12
private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {
     String [] v = {"0","1","2","3","4","5","6","7","8","9","."};
     char c =evt.getKeyChar();
     String s = "%" + c ;
      s=s.replace("%", "");
     if (s.equals(v[0])||s.equals(v[1])||s.equals(v[2])||s.equals(v[3])||s.equals(v[4])||s.equals(v[5])){}
     else  if (s.equals(v[6])||s.equals(v[7])||s.equals(v[8])||s.equals(v[9])||s.equals(v[10])){}
     else{
         int k = jTextField1.getText().length()-1;
         String n = jTextField1.getText().substring(0,k);
         jTextField1.setText (n);}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jahn
Val: 4
Ha aumentado su posición en 952 puestos en Java (en relación al último mes)
Gráfica de Java

jTextField solo numeros y punto (.)

Publicado por Jahn (1 intervención) el 08/06/2021 18:06:17
Gracias, me salvaste la vida
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 645 puestos en Java (en relación al último mes)
Gráfica de Java

jTextField solo numeros y punto (.)

Publicado por felipe (5 intervenciones) el 20/01/2016 21:54:50
oh muy bien que bien que lo resolviste, me diste una buena idea y hice este a alguien le puede servir despues

1
2
3
4
5
6
7
8
9
private void campo4KeyTyped(java.awt.event.KeyEvent evt) {
    char []p={'1','2','3','4','5','6','7','8','9','0','.'};
    int b=0;
    for(int i=0;i<=10;i++){
    if (p[i]==evt.getKeyChar()){b=1;}
 
    }
    if(b==0){evt.consume();  getToolkit().beep(); }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
Imágen de perfil de Efrain

jTextField solo numeros y punto (.)

Publicado por Efrain (28 intervenciones) el 21/01/2016 00:48:28
Piensas q el ciclo es optimo frente al condicional ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar