Hola, tengo un JtextField de 10 columnas y quiero que el usuario no pueda introducir más que ese numero de caracteres. ¿Cómo lo puedo hacer?
Respuesta de alejosoft
1
1
alejosoft, 3 años de experiencia como Ingeniero de Sistemas, I speak English...
Una vez intenté responder tu pregunta pero elservidor arrojó un error, voy a intentar de nuevo: Para hacer un campo de texto con un limite de caracteres existen varios métodos, pero este es el más eficiente: import javax.swing.text.*; import javax.swing.*; public class LimitadorDeTexto implements AbstractDocument { private int limiteDeCaracteres; public LimitadorDeTexto(int limiteDeCaracteres ){ this.limiteDeCaracteres = limiteDeCaracteres; } public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { if ( getLength() + str.length() > limiteDeCaracteres ){ java.awt.Toolkit.getDefaultToolkit().beep(); } else { super.insertString(offs,str,a); } }// fin metodo }// fin clase y listo, para usar esta clase tienes que hacer lo siguiente: import javax.swing.*; public class Prueba { public static void main( String [] a ){ // este sera un limitador para 20 caracteres LimitadorDeTexto limitador = new Limitador(20); JTextField campo = new JTextField(); campo.setDocument(limitador); // esto es para mostrarlo JOptionPane.showMessageDialog(null,campo); System.exit(0); } } Y listo, pruébalo y veras que no te deja meter más de 20 caracteres. Cualquier pregunta no dudes en consultarme.