Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2010, 21:17
tonyboytx
 
Fecha de Ingreso: junio-2004
Mensajes: 3
Antigüedad: 19 años, 10 meses
Puntos: 0
problema con JTextField

Hola, estoy creando una clase basandome en JTextField para validar que solo se capturen numeros ya sea enteros o decimales, estoy teniendo problemas con las variables static que declaro al inicio de la clase, esta clase ya funciona pero cuando la instancio en mis aplicaciones si declaro mas de una instancia esta respetando los valores que envio a la ultima instancia, la forma de instanciarla es enviando el numero de digitos y de decimales que podra capturar el JTextField, declaro esto:
====================
validacion.JNumField tt1 =new validacion.JNumField(2,3);
validacion.JNumField tt2 =new validacion.JNumField(5,0);
validacion.JNumField tt3 =new validacion.JNumField(3,2);
validacion.JNumField tt4 =new validacion.JNumField(4,4);
====================
el problema es que me respeta el ultimo que instancie, es decir en este ejemplo los 4 campos aceptan 4 enteros y cuatro decimales como dice la instancia "tt4"
el codigo con el que estoy iniciando la clase es este:
==============================
public class JNumField extends javax.swing.JTextField implements KeyListener, MouseListener, FocusListener {
static boolean entero;
static boolean decimal;
static int digitos;
static int decimales;

public JNumField (int numDigitos, int numDecimales) {
// numDigitos: numero de digitos antes del punto decimal
// numDecimales: numero de digitos despues del punto decimal
// si numDecimales es cero, se JNumField numero entero sin decimales
// si numDigitos es cero se asigna 9 como numero de digitos a capturar
decimales=numDecimales;
digitos=numDigitos;
setPrecision(numDigitos, numDecimales); // clase creada por mi
this.setText("0");
this.setHorizontalAlignment(TRAILING);
this.setFocusable(true);
addKeyListener ( this );
addMouseListener ( this );
addFocusListener (this);
}
==============================
he hecho ya varias pruebas y el problema continua incluso si en mi aplicacion asigno el valor directamente con tt4.decimales=5 (por medio de cada instancia) el problema persiste, no se si tiene que ver con la declaracion de las variables de clase. que puedo estar haciendo mal amigos?
saludos!