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

Threads y eclipse

Estas en el tema de Threads y eclipse en el foro de Java en Foros del Web. Hola! Estoy haciendo una aplicación con eclipse y con threads. Lo que hago es calcular dentro de un for una recta a partir de unos ...
  #1 (permalink)  
Antiguo 02/05/2008, 05:21
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Pregunta Threads y eclipse

Hola!
Estoy haciendo una aplicación con eclipse y con threads.
Lo que hago es calcular dentro de un for una recta a partir de unos valores y la dibujo ademas de mostrar los valores en cada momento, antes de pasar a la siguiente recta duermo la aplicacion dos segundos para que se vea el proceso.
La linea se me dibuja bien el problema viene cuando intento mostrar los valores de los datos en un text en cada momento, lo que hago es:

Cita:
texto.setText(valor actual);
Solo se me muestra al terminar el for.

Gracias
  #2 (permalink)  
Antiguo 04/05/2008, 14:01
Avatar de jrw
jrw
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 46
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Threads y eclipse

Hola,

¿Cuando ejecutas el codigo que tiene el FOR y cuando lanzas el Threads....?

Porque no nos muestras algo de tu codigo....
  #3 (permalink)  
Antiguo 05/05/2008, 01:17
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: Threads y eclipse

El codigo resumido es el siguiente:

Código:
for (int i=0 ; i < contadorLineas; i++){
	// calculo la linea que tengo que dibujar
        error.setText(error); 
/*Esto es lo que no me funciona hasta que no llega al final del for no me
escribe nada y es en lo que me gustaria que me ayudaseis*/
	e.gc.drawLine((int)x1, (int)y1, (int)x2, (int)y2); /*aqui dibujo la linea calculada antes*/
        t.run();		/* aqui duermo la aplicacion*/	  			
} //fin - for
GRACIAS UN SALUDO!!
  #4 (permalink)  
Antiguo 05/05/2008, 14:24
Avatar de jrw
jrw
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 46
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Threads y eclipse

Hola,

Me hubiese gustado que mostrases mas código.

Yo no entiendo mucho, pero en principio el problema que tienes me imagino que viene por el hecho de estás ejecutando este código en el thread que despacha los eventos. Y claro, cambiar el texto dispara un evento que se pone en la cola y hasta que no se acaba el proceso actual no se ejecuta.

El thread de despacho de eventos es el thead que ejecuta el código de dibujo y de despacho de eventos. Por ejemplo los métodos paint y actionPerformed se ejecutan automáticamente en el thread de despacho de eventos.

Si necesitamos acceder al UI desde fuera del código del despachador de eventos o de dibujo, podemos usar los métodos invokeLater o invokeAndWait.

La clase SwingUtilities proporciona dos métodos para ayudarnos a ejecutar código en el thread de despacho de eventos.

invokeLater:

Pide que algún código se ejecute en el thread de despacho de eventos. Este método retorna inmediatamente, sin esperar a que el código sea ejecutado.

invokeAndWait:

Actúa igual que invokeLater, excepto en que este método espera a que el código se ejecute. Como regla, deberíamos usar invokeLater en vez de este método.
  #5 (permalink)  
Antiguo 08/05/2008, 04:17
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: Threads y eclipse

Muchisimas Gracias por la ayuda!!

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 16:33.