martes, 27 de septiembre de 2011

Limitador de texto Java

Estoy programando una aplicación en Java, y buscando y buscando me encontré con esta clase que es muy útil, para limitar el número de carácteres que se introducen en un JTextField. La clase es la siguiente.


  1. import javax.swing.text.*;
  2. public class JTextFieldLimit extends PlainDocument {
  3. private int limit;
  4. // optional uppercase conversion
  5. private boolean toUppercase = false;
  6. JTextFieldLimit(int limit) {
  7. super();
  8. this.limit = limit;
  9. }
  10. JTextFieldLimit(int limit, boolean upper) {
  11. super();
  12. this.limit = limit;
  13. toUppercase = upper;
  14. }
  15. @Override
  16. public void insertString
  17. (int offset, String str, AttributeSet attr)
  18. if (str == null) return;
  19. if ((getLength() + str.length()) <= limit) {
  20. if (toUppercase) str = str.toUpperCase();
  21. super.insertString(offset, str, attr);
  22. }
  23. }
  24. }

Y la forma de usarlo es la siguiente
  1. JTextField JTextField1 = new javax.swing.JTextField();
  2. JTextField1.setDocument(new JTextFieldLimit(12));

Et voilà, estás listo =)

Saludos a Tod@s, y espero que les ayude!
PS:Este código no fue hecho por mí, sólo fue encontrado Googleando ;)

No hay comentarios:

Publicar un comentario