Foros del Web » Programación para mayores de 30 ;) » Java »

convertir primera letra de un JTextField en mayuscula

Estas en el tema de convertir primera letra de un JTextField en mayuscula en el foro de Java en Foros del Web. Hola amigos, tengo un inconveniente para transformar la primera letra ingresada a un jTextField a mayusculas.- Necesito que al cargar los datos en el JTextField, ...
  #1 (permalink)  
Antiguo 11/01/2013, 16:40
 
Fecha de Ingreso: enero-2013
Mensajes: 6
Antigüedad: 11 años, 10 meses
Puntos: 0
convertir primera letra de un JTextField en mayuscula

Hola amigos, tengo un inconveniente para transformar la primera letra ingresada a un jTextField a mayusculas.- Necesito que al cargar los datos en el JTextField, transforme la primera letra en mayuscula.

Este es un código que encontre pero me da un error de El indice del String estan fuera de rango.

private void txtnombreKeyTyped(java.awt.event.KeyEvent evt) {
JTextField txtnombre = (JTextField)evt.getComponent();

char ch =evt.getKeyChar();
if (Character.isLetter(ch)){
String cadena=txtnombre.getText().charAt(0)+Character.toU pperCase(ch)+"";
//txtnombre.setText(txtnombre.getText()+ Character.toLowerCase(ch));
txtnombre.setText(cadena);
evt.consume();
}else
if (Character.isDigit(ch)){
evt.consume();
}


}

El mensaje es el sgte:java.lang.StringIndexOutOfBoundsException: String index out of range: 0

Desde ya gracias, y estoy programando con netbeans 7.0
  #2 (permalink)  
Antiguo 11/01/2013, 17:30
 
Fecha de Ingreso: enero-2013
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: convertir primera letra de un JTextField en mayuscula

que tal mi querida amiga

a simple vista hay un ligero problema, pues en ningun momento controlas la longitud del texto en el JTextfield, q
  #3 (permalink)  
Antiguo 11/01/2013, 17:51
 
Fecha de Ingreso: enero-2013
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: convertir primera letra de un JTextField en mayuscula

perdon se cortó je je..

pues que tal si el usuario se encuentra borrando el texto y el JTextfield queda vacío, pues intentarás poner letra mayúscula a un caracter inexistente. Cuando accedes con txtnombre.getText().charAt(0), asumes que el texto devuelto no es vacío lo cual no es verdad en todos los casos. Para ello podrías usar lo siguiente:

private void txtnombreKeyTyped(java.awt.event.KeyEvent evt) {
JTextField txtnombre = (JTextField)evt.getComponent();

String texto=txtnombre.getText().trim();//para evitar espacios en blanco antes y despues del texto
if(texto.length()>0){
char primero=texto.charAt(0);
texto=Character.toUpperCase(primero)+texto.substri ng(1, texto.length());
txtnombre.setText(texto);
}

}
  #4 (permalink)  
Antiguo 12/01/2013, 13:22
 
Fecha de Ingreso: enero-2013
Mensajes: 6
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: convertir primera letra de un JTextField en mayuscula

gracias mil, por la ayuda

Etiquetas: jtextfield, letra, mayuscula, netbeans, primera, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:26.