Foros del Web » Programación para mayores de 30 ;) » Java »

Problema de valores en JDialog

Estas en el tema de Problema de valores en JDialog en el foro de Java en Foros del Web. Buenas, tengo un problemilla con un atributo en el jdialog. Os pongo en situacion: tengo una clase que extiende de jframe y otra que extiende ...
  #1 (permalink)  
Antiguo 28/12/2011, 11:20
 
Fecha de Ingreso: enero-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema de valores en JDialog

Buenas, tengo un problemilla con un atributo en el jdialog. Os pongo en situacion:

tengo una clase que extiende de jframe y otra que extiende de jdialog.

Lo que necesito es una ventana principal que al pulsar un boton me lance otra para que el usuario meta unos valores, y luego recoger esos valores en la ventanaprincipal, y así dos veces, con valores diferentes, claro.

Entonces, tengo algo asi en el jframe:

Ventana3x3 vp = new Ventana3x3(this, true);
vp.show();
mascara1 = vp.getMascara();
mascaras.add(0, mascara1);


vp = new Ventana3x3(this, true);
vp.show();
mascara2 = vp.getMascara();
mascaras.add(1, mascara2);


(si, sé que podría hacer esto mas sencillo con un bucle, pero como no salia, opté por hacer las pruebas asi y como aun asi no me sale y ya no sé que mas mirar porque he mirado un montón, tuve que acudir a vosotros)

la clase Ventana3x3 es la que extiende de jdialog.

El problema es que cuando hago la primera llamada al jdialog, pues va todo bien: almacena esos valores en mascara1. El problema es con la segunda llamada, que en el debugger me pone que cuando ejecuta por segunda vez vp = new Ventana3x3.... mascara1 lo vacía completamente y el nuevo valor lo almacena en mascara1 y en mascara2. Total, que solamente tengo en las dos variables el ultimo valor introducido y no el primer valor y el segundo valor introducido.

Los jdialog los cierro con un this.dispose. Y el motivo por el que se vacía mascara1 es porque en el constructor tengo puesto un clearAll, pero es un clearAll de un atributo global de jdialog. No sé, yo no entiendo por qué hace eso. Este es parte del codigo de jdialog:

private static ArrayList<ArrayList<Integer>> mascara = new ArrayList<ArrayList<Integer>>();

/** Creates new form
public Ventana3x3(java.awt.Frame parent, boolean modal) {
super(parent, modal);

mascara.removeAll(mascara);
...........
}

Etiquetas: clase, jdialog
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:21.