PDA

Visualizza versione completa : [JAVA] problema thread e interfaccia grafica


pholcus
15-04-2003, 11.33.24
Ciao.

Ho un problema. Sto facendo una interfaccia grafica per un eseguibile.
A grandi(molto grandi) linee il programma e' fatto cosi: classe principale che crea l'interfaccia grafica; bottone che crea un thread che poi gestira' il processo da lanciare, un frame con una textarea nel quale scrivo l'output del programma, una classe per gestire l'output del programma che viene passata al thread. Il nuovo thread crea un processo :

Process pr = Runtime.getRuntime().exec(cmd);

Quello che devo fare e' aspettare che finisca il processo pr, per poi
farne partire un'altro. Quindi

pr.waitFor();

e fin qui tutto bene.

La cosa che pero' non va e' che quando faccio pr.waitFor(), l'interfaccia grafica si blocca completamente! Poi quando il processo ha finito, riparte tutto scrivendo l'output nella textarea.

Ma non si dovrebbe bloccare solamente il thread che gestisce il processo?

Tra poco posto un po di codice..se qualcuno intanto ha suggerimenti..

P8257 WebMaster
15-04-2003, 12.14.51
Suggerimento: quando fai i thread, implementi runnable o estendi thread? ..

I Thread implementati sull'interfaccia runnable sembrano pių stabili, almeno cosė mi č sempre capitato.

Bye :cool:

pholcus
15-04-2003, 12.21.50
mmm..forse ho trovato l'errore..
cmnq estendo Thread

P8257 WebMaster
15-04-2003, 12.25.24
Ok, se ti ricapita qualcosaa di strano coi thread, prima di rivolgerti a Dio ( :D ) .. prova ad implementare Runnable

Bye :cool:

pholcus
15-04-2003, 12.29.34
Mea culpa...ho trovato l'errore mentre stavo scrivendo il codice da postare...

Al posto di far partire il Thread che gestisce il processo col metodo start() lo facevo partire con run()...

Sorry, grazie cmnq..

pholcus
15-04-2003, 12.32.09
Tra parentesi, erano giorni che stavo impazzendo, per trovare una soluzione alternativa...:rolleyes: