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

Ayuda con AWT

Estas en el tema de Ayuda con AWT en el foro de Java en Foros del Web. Hola amigos, espero me puedan ayudar, he buscado por todos lados intentando solucionar mi problema pero no encuentro la solucion. es por eso que estoi ...
  #1 (permalink)  
Antiguo 12/09/2009, 12:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda con AWT

Hola amigos, espero me puedan ayudar, he buscado por todos lados intentando solucionar mi problema pero no encuentro la solucion. es por eso que estoi aqui pidiendoles su ayuda.

estoi programando una aplicacion en java con awt estoy recien empesando.

y me tope con el siguiente problema

Código:
//crear matriz es la accion que crea una matriz de tfila por tColumna y la muestro en un area de texto aMatriz, ventana es el frame principal del programa.
crearMatriz a = new crearMatriz(ventana, tFila, tColumna, aMatriz);
//al pulsar boton ejecuto la accion de crear la matriz
crear.addActionListener(a);
//recibo la matriz que se creo en la Clase crearMatriz.
ptMatriz = a.getMatriz();
en ptMatriz = a.getMatriz(); al pareser esta accion la realiza antes que que presione el boton para crear la matriz, por lo tanto, me asigna un valor nulo al puntero.
Me gustaria saber si hay alguna forma de realizar esa asignacion despues de haber presionado el boton "crear", para que me asigne la referencia de la matriz que se creo en la clase crearMatriz al puntero ptMatriz.

por lo que lei podria ser solucionable con threads, pero no estoi seguro.

espero haberme explicado bien.

Saludos.
Espero me haya explicado bien.
  #2 (permalink)  
Antiguo 12/09/2009, 14:08
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ayuda con AWT

Hola:

Lo más sencillo es que hagas esa asignación en el código de la pulsación del botón (en crearMatriz).

Si no lo haces así, tendrás que meterte con esperas y semáforos. Por ejemplo, usando a para sincronizar

Código:
//crear matriz es la accion que crea una matriz de tfila por tColumna y la muestro en un area de texto aMatriz, ventana es el frame principal del programa.
crearMatriz a = new crearMatriz(ventana, tFila, tColumna, aMatriz);
//al pulsar boton ejecuto la accion de crear la matriz
crear.addActionListener(a);
//recibo la matriz que se creo en la Clase crearMatriz.
synchronized (a) {
   a.wait(); // espera que se pulse el botón
   ptMatriz = a.getMatriz();
}
y en el código de crearMatriz, en el actionPerfomed

Código:
public void actionPerformed (ActionEvent e) {
   // se crea la matriz
   synchronized (this) {  // this es la variable a del wait anterior
      this.notify();  // se avisa al wait() de que siga.
   }
}
Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 14/09/2009, 09:14
 
Fecha de Ingreso: agosto-2009
Mensajes: 3
Antigüedad: 14 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Ayuda con AWT

gracias por la respuesta, aunque no implemente el codigo que me diste, hice lo que primero me djiste que fue mas facil, igual voi a intentar implementar ese codigo por que quizas algun dia me vea en la nececidad de usarlo.
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 10:29.