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
307
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
- 521617
Hakkarainen: persut Venäjän ja Pohjois-Korean tiellä
Hakkarainen entisenä persujen kärkipoliitikkona tietää, mitä puhuu. https://www.is.fi/politiikka/art-2000010422614.html1721486Fuengirola.fi: Kohuissa rypenyt Jari Sillanpää, 58, harvinaisessa haastattelussa: "Minä haluan..."
Ex-tangokuningas on kertonut kuulumisiaan Espanjan Aurinkorannikolta. Että ei muuta kuin elämässä etiäpäin, Jari Sillanp191019Ilouutinen! Anniina Valtonen heitti jymy-yllätyksen - Tämä ei jätä kylmäksi!
Ohhoh, tämäpä ylläri! Anniina Valtonen sai puolisonsa kanssa lapsen viime vuoden lopulla. Lue lisää: https://www.suomi29918Ootko muuten vieläkään hiffannut
Että en kuulu sinun maailmaasi? On meissä samaa, ja samaa aaltopituutta oli, mutta tunsin oloni usein hyvin vaivautuneek107799- 47759
Miten nyt sanoisin
tämän sinulle. Oletko mielessäni päivittäin, kysyin itseltäni ja vastaus oli, kyllä olet. Yllätyin, päädyin oudoille tei38718- 55621
- 53599
Oletko joskus pieni ja haavoittuva
vai oletko aina vahva, miltä aina vaikutat? Nainen, oletko koskaan väsynyt ja haavoilla? Yritätkö silti pitää julkisivua51598