Swing ja SWT / Säikeet
Swing ja SWT eivät ilmeisesti kumpikaan ole säieturvallisia.
Siksipä:
Jos swingissä ja/tai swt:ssä GUI -lomakkeelle lisätään 2 metodia:
public saieTurvallinen() {
// tähän koodia. joka päivittää näyttöä, esim. jonkin lomakkeella olevan Labelin tekstiominaisuuden tai lisää uuden rivin moniriviseen tekstikenttään tai Listboxiin
}
public vierasSaie() {
// Mitä ???? TÄHÄN pitäisi kirjoittaa, jotta metodia saieTurvallinen() kutsuttaisiin mahdollisimman pian, mutta kutsuminen tehtäisiin siitä säikeestä käsin, josta käsin GUI -liittymän päivitys on turvallista, siitä huolimatta, Että vierasSaie() -metodia on voitu kutsua mistä säikeestä käsin tahansa !
}
Löytyykö vastausta tähän ?
Swing ja SWT / Säikeet
1
356
Vastaukset
- fidel1
Jos lukisit niitä linkkejä, mitä sulle lähetetään..
No, yksinkertaisin tapaus:
public vierasSaie() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
saieTurvallinen();
}
});
}
Voit käyttää myös SwingUtilities.invokeAndWait-metodia, joka jää odottelemaan, kunnes rutiinin suoritus päätyy.
Jos haluat tehdä jonkun pidemmän operaation ilman että GUI-päivitys jää jumiin, käytä sitä paljon puhuttua SwingWorker-luokkaa. SwingWorkerin doInBackground-metodiin laitetaan varsinainen toiminta, joka ei saa haitata käyttöliittymän toimintaa ja process- ja/tai done-metodeihin käyttöliittymän päivitys.
Näillä keinoilla käyttöliittymän päivitys tapahtuu aina siinä säikeessä, jossa se on turvallista (Event Dispatch Thread)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225234- 254398
- 282541
- 342264
- 372008
- 151928
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194