Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- eBay-es kütyük kis pénzért
- Aweriot: Cloudflare és mi
- btz: Internet fejlesztés országosan!
- potyautas: Levél gyermekemnek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- kraftxld: Diáklaptop - Dell Latitude 3140 - Királyunk ajándéka
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
Karma
félisten
Huh, erős kód. Meg egy kicsit erjedt is. Ha már egyszer a progressbar értékét is másik szálból közvetlenül babrálod a setValue-val, miért nem hívod meg a dialógus setVisible-jét amikor vége?
Félreértéseket elkerülendő, ez így nagyon-nagyon nem jó megoldás, de legalább begipszelnéd a lyukat

A probléma ugyanis az, hogy a Swing (meg úgy egyébként a legtöbb UI framework) nem szereti azt, ha a UI szálon kívül (itt event dispatcher threadnek hívják) bármit módosítasz. Jobb helyeken egy hatalmas exceptiont kapsz a nyakadba, itt úgy tűnik nem.
A dialógus elindítása még rendben van, a másik szálból nem szabadna közvetlenül hívogatni a setValue-t.
Fontos megjegyezni, mert ahogy látom itt félreértés van: az új szál indításával a vezérlés két, párhuzamosan futó részre szakadt. Ez a mondatod: A kérdés, ha végzett a run() metódus, hogyan tudom ezt a szálat leállítani és visszaadni a másiknak a vezérlést." értelmetlen, az indító dialógusos kód nem vesztette el a szálát, egyszerűen visszatért az eseményekre várakozó állapotba. Ezt végzi is, csak a modális dialógus miatt nem törődik máshova irányuló kattintásokkal és billentyűleütésekkel.
Magára a problémára visszatérve, egy kicsit szerteágazik a megoldás, mert olyan alap dolgokkal kellene tisztában lenned, mint a UI (dialógus, progressbar helyzete) elválasztása az üzleti logikától (fájlmásolás száz bájtonként). Kéne egy rendes Listener interfész, amit a másoló hívogat (ezen keresztül jelentve a százalékos állást, számként), és a programGUI-d implementálja.
Ehhez az implementációhoz meg a SwingUtilities.InvokeLater-t kéne használnod, hogy a dispatcher szálon fusson le a tényleges progress bar frissítés, meg a dialógus elrejtése.
Így nem függene a másolód attól, hogy a UI-on milyen komponensek vannak és hogy hívják őket, csak a dolgát végezné

Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Eredeti játékok OFF topik
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Fejhallgató erősítő és DAC topik
- Itt van Elon Musk chat alkalmazása, nem fogod elhinni, mi a neve
- One otthoni szolgáltatások (TV, internet, telefon)
- Linux kezdőknek
- Milyen videókártyát?
- OpenMediaVault
- Assetto Corsa Rally
- További aktív témák...
- Samsung Galaxy A33 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Legion 5 15ACH6H 15.6" FHD IPS Ryzen 7 5800H RTX 3070 32GB 512GB NVMe új akku gar
- View 71 Tempered Glass Snow Edition + 3 db Corsair LL120 RGB 120mm + vezérlő + hub
- Xbox Series X 1TB + 1 játék - 1 hónap garancia - konzol beszámítás ok! -
- Playboy 2000-2005 teljes évfolyam
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 14 256GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3799, 100% Akksi
- Bomba ár! HP Elitebook X360 1030 G2 - i7-8G I 16GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Apple iPhone 13 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / akku: 100%
- Xiaomi Redmi Note 11 Pro / 6/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



