Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/01/2012, 19:35
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Tranformar a Mayuscula texto introducido en JTextField

Hola,

Las implementaciones anteriores desde mi punto de vista personal creo que son correctas, pero dependen del uso que se les vaya a dar. Por lo mismo presento otra opción que sería el método para asegurarse que un componente solamente puede tener letras en mayúscula en cualquier momento.

Código Java:
Ver original
  1. public class UpperCasePlainDocument extends javax.swing.text.PlainDocument {
  2.     @Override
  3.     public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
  4.         super.insertString(offs, str.toUpperCase(), a);
  5.     }
  6. }
Código Java:
Ver original
  1. jTextField1.setPlainDocument(new UpperCaseDocument());
La ventaja es que estamos modificando el funcionamiento interno del JTextField y por lo tanto al insertar un texto por cualquier motivo nos aseguramos que este en mayúsculas, por ejemplo:

Código Java:
Ver original
  1. jTextField1.setText("hello world!");
Swing tiene bien definido el concepto de modelo, vista y controlador, en este caso estamos haciendo uso de la vista (JTextField) y su controlador (PlainDocument).

Pero al final depende de las necesidades del programa.

Saludos,