/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Et ? om GUI opdatering og tråde..
Fra : Kenneth Egholm


Dato : 14-03-03 08:59

Hej gruppe..
Jeg har et lille prob..

Jeg vil fra "hoved tråden" (en system controller) åbne en Frame, der
indeholder en progressbar der skal opdateres efter, hvor langt
controlleren er nået i en mængde metode kald.
Hvordan gør jeg dette således at den nye tråd (Framen med progressbaren)
får cpu tid til at opdateres.
Det jeg har lavet nu er: controlleren laver en instans af en klasse
"WaitDialog", signatur her:
public class WaitDialog extends Frame implements Runnable, Observer {

Den "pakkes" ind i en tråd og startes med start() - men hvad pokker skal
jeg have i run() metoden ??
Controlleren har også en instans af en (i øvrigt indre) klasse,
"WaitStatus", signatur her:
private class WaitStatus extends Observable {

Den skal således virke som det objekt WaitDialog observerer på. Det
virker også fint, har kontrolleret ved udskrift at observatøren kaldes,
når WaitStatus objektet ændrer sig, men framen opdateres ikke.. Den
tegnes kun som omrids, indtil controlleren er færdig med sine
metodekald, og lukker WaitDialogen..

Det er vist noget med at det kun er det der sker i run() metoden der
kører som en tråd, dvs, kaldet til update() sker egentlig i den
"kaldende tråds tid" .. Men hvordan laver jeg en rettelse til dette, så
det kommer til at virke..

En mulighed er jo at lade WaitDialogen kigge på WaitStatus objektet med
jævne mellemrum, lad os sige 10 gange i sekundet, men det er sku da ikke
en pæn måde vel ???

--
MVH Kenneth Egholm



 
 
Søg
Reklame
Statistik
Spørgsmål : 177460
Tips : 31964
Nyheder : 719565
Indlæg : 6408200
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste