Los jTextField's

   Son una parte muy importante al momento de crear una aplicación, mas aún si se trata de un programa mas completo. Lo primero que hay que saber es que son objetos en los que podemos introducir datos, mas bien bytes, que es lo que se lee desde cualquier entrada, ya sea por teclado, desde un archivo, o incluso desde un mouse.

   Aquí unos pequeños "tip's" al momento de utilizar uno de estos objetos.

- Siempre es conveniente definir el tamaño que tendrá al momento de crearse, para que se adecue a la pantalla, aunque no quiere decir que no podamos escribir mas caracteres de los que se definen.
JTextField MiTexto = new JTextField(15);

- Si vamos a utilizar un campo de texto para realizar distintas operaciones, siempre debemos comprobar que no este vacío.
String MiTexto = textField.getText();
if (MiTexto.equals(""))
System.out.print("El campo se encuentra vacío");

- Si vamos a introducir datos numéricos, es conveniente utilizar los jFormattedTextField's.
JFormattedTextField MiTexto = new JFormattedTextField();
Integer MiValor = (Integer) MiTexto.getValue();

- Si utilizamos jTextField's para mostrar datos fijos (que no pueden modificarse), lo conveniente es deshabilitarlo, para ello hay dos formas. Una es con "setEnabled()" y otra con "setEditable()".
jTextField.setEnable(false)
jTextField.setEditable(false);

   A diferencia del primero, el "setEditable()" permite que en el campo no pueda escribirse ningún dato, pero este se vera igual que cualquier otro, por ello es conveniente utilizar el "setEnabled()" en ciertas ocasiones, que coloca el campo en gris, para evitarle confusiones al usuario.


9 Comentarios

Escribir Comentario
Jorge
AUTOR
6 de octubre de 2009, 3:59 delete

Una mejor forma de comprobar que el texto no esté vacío es:

if(jTextField1.getText().equals(""))
System.out.print("El campo se encuentra vacío");

Responder
avatar
6 de octubre de 2009, 10:32 delete

Jorge, es igual ;). La unica diferencia es que yo coloco el ".getText()" para de una vez utilizarlo en otras oportunidades y ya tenerlo dentro de una variable.

Responder
avatar
Jorge
AUTOR
8 de octubre de 2009, 15:09 delete

Si, pero para un programa que usé fué mas optimo, ya que usas menos recursos. Hay que recordar que para un programa grande cada byte de memoria ahorrado vale oro.

Responder
avatar
8 de octubre de 2009, 17:10 delete

Correcto, pero eso es válido si solo utilizaras cuando mucho dos veces la variable, pero si vas a utilizar la variable del "JTextField" en repetidas oportunidades no seria nada bueno y es muy poco estético llamarla por cada método en la que se requiera, me explico.

Si aparte de compararla con "If" necesitamos la variable para unirla con otra cadena, para validar un campo, o necesitamos pasarla a valor numérico, lo mas adecuado seria declararla y luego llamarla en los distintos procesos en que la vamos a utilizar.

Es decir, si tenemos varios métodos y estos utilizan dicha variable, no podemos, o mejor dicho, no deberíamos utilizar la llamada directa, deberíamos almacenarla en una variable y que esta pueda llamarse en todos esos métodos, me entiendes :)

Responder
avatar
Cecilia
AUTOR
30 de octubre de 2009, 15:24 delete

Ok, entiendo la diferencia entre setEnabled y setEditable. Pero ahora bien, Resulta que tengo un JTextField que hice deshabilitar (micampo.setEnabled(false)) pero dependiendo del valor que éste cargue, se deberá poner su texto en un determinado color, con lo cual tengo micampo.setForeground(Color.RED) y no me da bolilla, sigue con su color gris sin cambiar.
Por lo que pase a hacer micampo.setEditable(false) y mi campo.setForegr... y si cambio su color, pero mi campo comenzó a adquirir foco cuando presiono TAB y eso no quiero que suceda. ¿Alguna idea?

Responder
avatar
31 de octubre de 2009, 1:01 delete

Ok, imagino que da foco porque has habilitado el campo mas no lo has puesto editable, prueba colocando primero el color del campo y luego lo deshabilitas, parece algo que no tiene nada que ver pero se han visto casos, por experiencia una vez me paso así, sino funciona prueba con colocando tanto el enabled como editable y me cuentas...

Responder
avatar
Anónimo
AUTOR
5 de mayo de 2012, 8:29 delete

si mostrico para comparar cadena de carateres siempre se debe utilizar el metodo equals()

Responder
avatar
Ricardo
AUTOR
2 de agosto de 2013, 1:12 delete

Que tal amigo no se si me puedas ayudar, mi duda es como le puedo hacer para validar si un jformattedtextfield esta vacio ??

Responder
avatar
29 de agosto de 2013, 8:53 delete

En el post esta explicado, solo debes leer... Saludos!!

Responder
avatar

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión