Ayuda con restricciones en jTextField

Iniciado por EdgarKrieger, 3 Abril 2018, 02:07 AM

0 Miembros y 1 Visitante están viendo este tema.

EdgarKrieger

Buen día chicos.

Pues bueno ahora mi duda es algo extraña para mis conocimientos, estoy haciendo una aplicación de escritorio con Java y lo que sucede es que necesito restringir el jTextField a 4 caracteres numéricos, el código que hice fue este:

Código (java) [Seleccionar]
RestrictedTextField iTP1 = new RestrictedTextField(IVAtotalPrecio1);
iTP1.setLimit(2);
iTP1.setOnlyNums(true);


y en su momento me funciono pero al momento mandar la función de los cálculos y poner el resultado en el jTextField (IVAtotalPrecio1) se pierde la restricción a 4 caracteres numéricos y además me repite el resultado 4 o 5 veces,¿A que se debe este problema? ya estuve buscando en san google pero no encuentro nada, agradeceria mucho su ayuda.

Muchas gracias chicos, saludos.
"Las matemáticas son el lenguaje, el idioma que utilizo Dios para escribir el mundo"
Galileo Galilei

srWhiteSkull

http://atxy2k.github.io/RestrictedTextField/#documentation

Según la documentación el método limita la escritura de una determinada cantidad de caracteres. Pero será al escribirlo, y posiblemente lo ignore al "pegar" o insertar una cadena.

Lo que puedes hacer es simplemente crear tú propia clase que herede de esa que usas, si quieres aprovechar sus métodos, y gestionar el KeyListener.

https://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyListener.html

https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

suerte

EdgarKrieger

Genial srWhiteSkull, es cierto solamente acepta que sea escritura eso no lo sabía :xD :xD, pero investigando un poco creo que he dado con la respuesta, bueno a mi me sirvio.

Código (java) [Seleccionar]
String Tot1AsString = String.format("%,.2f",Tot4);

solamente con esto jejejeje, de antemano muchas gracias por la ayuda y aprendí un poco de más con las paginas que me proporcionaste ;-)
"Las matemáticas son el lenguaje, el idioma que utilizo Dios para escribir el mundo"
Galileo Galilei

srWhiteSkull

Bueno pues si te sirvió eso pues perfecto,
saludos
;-)