Hirdetés
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- 5.1, 7.1 és gamer fejhallgatók
- Vezeték nélküli fülhallgatók
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Azonnali fotós kérdések órája
- Amazon Fire TV stick/box
- Kormányok / autós szimulátorok topikja
- Milyen széket vegyek?
- Fejhallgató erősítő és DAC topik
- Milyen billentyűzetet vegyek?
Ú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?:))
- exHWSW - Értünk mindenhez IS
- PlayStation 5
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Macska topik
- Győr és környéke adok-veszek-beszélgetek
- Bemutatkozott az Oppo kamerás csúcsmodellje
- Autós topik
- Assetto Corsa EVO
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- Anglia - élmények, tapasztalatok
- További aktív témák...
- Használt OnePlus Nord 3 5G 8/128GB, 91% akkumulátor, 12 hónap garancia!
- Dobozos ÚJ! HP ZBOOK Firefly 16 G10 /i7-1355U/16GB/1 TB SSD/FHD+/IPS/NVIDIA 4 GB Magyar bill
- Szép állapotú Apple iPad Air 5 M1 64GB, Wi-Fi + Cell, 90% akku, 12 hónap garancia!
- Hibátlan állapotú Samsung Galaxy S24+ 12/256GB, 12 hónap garancia!
- HP EliteBook 840 G11 Ultra 7 / 16GB RAM / 512GB SSD / FHD+ IPS / Garancia 2027.11.
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- Apple iPhone 17 512GB Black Karcmentes állapot 100% akku (12 ciklus)
- Lenovo ThinkPad T14s Gen 5 Intel Ultra 5 135u,16 gb DDR5 6400,garancia 2028.03.
- Sandisk Portable SSD 2TB!
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



