Página 1 de 1

Limitar la cantidad de caracteres en un JTextField

Publicado: 22 Jun 2009, 15:58
por luisdavidgd
Para empezar debo poner que estoy trabajando en NetBeans, bueno, lo mismo del título...

Lo que quiero hacer es que una caja de texto (JTextField) no me permita colocar más de un caracter, lo que he logrado hacer es validar eso pero recién cuando se presenta algún evento:

Ejemplo:

Código: Seleccionar todo

if(JTextField.getText().length() != 1)
//aca la excepción
else
//aca sigue todo normal
[/size]
pero yo quisiera que no se pudiera colocar más de un caracter, sin necesidad de hacer válido algun evento, he buscado en las propiedades del mismo JTextField, pero sin encontrar nada que me ayude.

Espero haberme hecho entender y que alguien pueda ayudarme.

PD: Alejandro, cuando me registré al foro comenté (en presentaciones) que tenías muy bien organizado todo esto, pero quedaría más lindo aún si divides el foro 'Programación' en sub-foros por lenguajes, tipo: C++, C#, Java & Javascript, etc; solo como sugerencia, sin ánimos de ofender ni nada... Saludos!

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 22 Jun 2009, 17:38
por jProgr
En mi caso uso:

Código: Seleccionar todo

TextField (nombre de variable)=new TextField ("lo que quieres que vaya en el campo", 25);
y luego mas abajo donde quieras ponerlo le das un:
add(nombre de la variable)
Donde el 25 es la cantidad de caracteres permitidos, asi lo manejo yo, tambien en NetBeans.

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 22 Jun 2009, 22:49
por luisdavidgd
jProgr escribió:En mi caso uso:

Código: Seleccionar todo

TextField (nombre de variable)=new TextField ("lo que quieres que vaya en el campo", 25);
y luego mas abajo donde quieras ponerlo le das un:
add(nombre de la variable)
Donde el 25 es la cantidad de caracteres permitidos, asi lo manejo yo, tambien en NetBeans.
OK, eso si dibujo mi formulario desde código ¿cierto? recuerdo haber trabajado asi con applets y dibujaba el form desde una clase.

Sucede que ahora he dibujado el formulario con los paneles Swing, he jalado un JTextField y quiero validarlo para que no me deje colocar más de un caracter
¿manejas swing como para que me puedas ayudar?

Gracias por tu tiempo, saludos!

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 22 Jun 2009, 23:09
por jProgr
Pues yo soy mas applets que programas a consola y a nivel maquina, pero si puedo ayudarte.
En tu if has probado poner que si es mas largo haga focus en el siguiente campo o pierda focus? tambien puede ser otra forma con jTextField

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 22 Jun 2009, 23:42
por luisdavidgd
jProgr escribió:Pues yo soy mas applets que programas a consola y a nivel maquina, pero si puedo ayudarte.
En tu if has probado poner que si es mas largo haga focus en el siguiente campo o pierda focus? tambien puede ser otra forma con jTextField
lo que he hecho hasta el momento es algo asi (me da flojera abrir el netbeans, pero lo se mas o menos de memoria):

Código: Seleccionar todo

if(txt1.getText().toLowerCase().isEmpty(){
lblMensaje.setText("ingrese un caracter");
txt1.setText("");
txt1.requestFocus();
} else if(txt1.getText().toLowerCase().length() != 1{
lblMensaje.setText("ingrese solo un caracter");
txt1.setText("");
txt1.requestFocus();
} else {
//YA ACA TODO COMO DEBE FUNCIONAR CON UN CARACTER INGRESADO
}
[/size]
pero eso siempre y cuando presione el botón para que me valide la excepción, me gustaría que de plano no me deje escribir más de un caracter, o sea que si intento escribir mas simplemente no se pueda.

Si es sencillo y tienes una noción de como hacerlo sería genial que me ayudes, caso contrario descuida, pues asi como lo tengo con el if, funciona de maravilla, solo es un detalle que queria agregarle a mi aplicación.

PD: Igual no te salvas porque te pediré ayuda cuando trabaje con applets (=

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 23 Jun 2009, 13:30
por jProgr
Pues no, yo casi no trabajo con jTextField asi que no sabira decirte lo que me pides....
Pues cuando andes en applets con gusto te ayudare XD

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 28 Ago 2012, 12:37
por Soldier
Buscando encontre esta solucion espero te sirva de algo.


private JTextField jTextFieldName =new JTextField();

private int limite = 8;

jTextFieldName.addKeyListener(new KeyListener(){

public void keyTyped(KeyEvent e)

{if (jTextFieldName.getText().length()== limite)

e.consume();
}

public void keyPressed(KeyEvent arg0) {
}

public void keyReleased(KeyEvent arg0) {
}
});

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 28 Ago 2012, 12:39
por Soldier
Prueba con esta otra tambien.

//Permite hasta dos caracteres en el campo txtEdad
private void txtEdadKeyTyped(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if (txtEdad.getText().length()== 2){ // 2 es la cantidad de caracteres permitidos
evt.consume();
Toolkit.getDefaultToolkit().beep(); //Como ves, implementé un beep para que suene si se trata de ingresar mas XD
}
}

Re: Limitar la cantidad de caracteres en un JTextField

Publicado: 02 Feb 2016, 12:45
por spedrot3
Toolkit.getDefaultToolkit().beep(); //Como ves, implementé un beep para que suene si se trata de ingresar mas XD

c0m0 se usar@ e$@ line@ 2 l@ qu3 hac3 r3ferenc!a lo del Toolkit especificamente... salu2