Jigloo comunicacion entre JFrame

Iniciado por soyderiver2007, 28 Julio 2011, 17:43 PM

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

soyderiver2007

Hola tengo un problema, espero que alguien me pueda ayudar, me pasa lo siguiente:
tengo un JFrame1 con un JTextField1 y un botón, al presionar este botón quiero tomar el valor del JTextField1 hacerle algo y luego que me lo imprima en un JTextArea del JPanel2.  Muchas Gracias, Saludos.

Valkyr

¿Cuál es el problema? Sí tan solo dices lo que quieres hacer, pero no especificas cuál es tu duda en concreto, qué código has desarrollado ni nada por el estilo no vamos a venir aquí a escribirte todo el código sin más.

Sé más específico, expón tu código de forma limpia y clara, y te ayudará todo aquel que quiera y pueda.

Saludos.

soyderiver2007

Hola Valkyr, el codigo es el siguiente:

el main es algo así

{
.
.
.
metodo1(arg1, arg2);
NewJFrame2.NewJFrame2Menu();
consulta = NewJFrame2.getconsulta();
         
metodo2(arg1, consulta);
}

y JFrame2

private void initGUI() {

.
.
.
jButton1.addActionListener(new ActionListener() {
   public void actionPerformed( ActionEvent e )
   {
     consulta = campo+jTextField1.getText().replaceAll(" ", "AND");
     NewJFrame3.NewJFrame3Menu();}});
   
            
}

el problema es que al llamar al método consulta es null, sin embargo en
consulta = NewJFrame2.getconsulta(); levanta bien, perfectamente.
el problema creo que es mientras esta en ejecución NewJFrame2.NewJFrame2Menu();
otro hilo levanta metodo2, y por eso consulta es null.
con el debug funciona bien, por eso creo que es un problema de thread, muchas gracias, espero que se haya entendido saludos.

Valkyr

En principio sí dices que al depurarlo funciona correctamente, entonces el problema debe de ser con algún Thread, tal y como dices.

Otra coas ahora mismo no se me ocurre para decirte. Intenta indagar un poco más en el asunto y si no consigues solucionarlo pues nos comentas en que has avanzado.

Saludos.

klaine

Ya mira, la traza que yo veo es la siguiente:

-Llamas al metodo1 y le pasas 2 argumentos
-Instancias tu ventana, la cual no se mostrará hasta que se ejecute lo que esté en el main
-Llamas a la consulta (obiamente te devolverá null, ya que sólo se instanció tu ventana, ni se ha mostrado ni obviamente se ha tecleado algo)
-Llamas al metodo2
-Termina main y se muestra tu ventana

Puedes ejecutar tu code en el listener directamente en lugar de llamarlo desde el main

Saludos  ;)