SwingUtilities.invokeLater bruges fra andre traade end event traaden for at udfoere kode i event traaden (kun kode i event traaden maa opdatere Swing komponenter)
SwingWorker bruges fra event traaden naar man skal lave noget der tager lang tid )man maa ikke blokere event traaden)
Hvis du blot skal have dit program til at køre i flere tråde, så er der ingen grund til at bruge SwingWorker. Den har noget funktionalitet der kan hjælpe dig hvis du skal bruge flere oplysninger om dine tråde - F.eks. hvor langt de er i en proces osv.
Som Arne er inde på, så bruges invokeLater til at styre koden fra EDT'en, (EventDispatchThread). Den pågældende metode bliver kørt asynkront på EDT'en og sat bagerst i køen. Hvis ikke dette bruges (man kan sagtens køre flertråds-programmering uden) kan der opstå underlige fejl på vilkårlige tidspunkter.
SwingWorker bruges ikke når man skal lave noget der tager lang tid, men blot når man vil "lytte" til en tråd. For ikke at blokere EDT'en opretter man en ny tråd i sit program som denne metode kan køre i og dermed blokeres EDT'en ikke.
Sådan en kombination af: * spørger har fået løst sit problem * svarere har fået deres point * dem der læser tråden har en klar indikation af hvad det rette svar var så de ved hvad de kan bruge * tråden får sit blå flag så den ikke står som ubesvaret
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.