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 originalpublic class UpperCasePlainDocument
extends javax.
swing.
text.
PlainDocument { @Override
super.insertString(offs, str.toUpperCase(), a);
}
}
Código Java:
Ver originaljTextField1.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 originaljTextField1.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,