Hirdetés
- iPhone topik
- Telekom mobilszolgáltatások
- Poco F8 Ultra – forrónaci
- Apróbb változással jön a Pixel 11 az első képek szerint
- Honor 200 - kétszázért pont jó lenne
- Samsung Galaxy A56 - megbízható középszerűség
- Képernyőmentes Fitbit jön a Google-től
- Xiaomi 15T Pro - a téma nincs lezárva
- Android alkalmazások - szoftver kibeszélő topik
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
Ú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?:))
- Lenovo ThinkCentre M920q - i5-9500T/16GB RAM (DDR4)/256GB SSD - USFF mini PC Tiny PC
- Dell Latitude 5501,15.6" FHD,i5-9400H,16GB DDR4,512GB NVMe SSD,WIN11,LTE KÁRTYA,ÚJ AKKU
- Lenovo ThinkVision S27i-30 Monitor 27" - új állapot, garancia: 2029.01.16. 1920x1080, 100Hz, IPS
- ThinkPad P53 15.6" FHD IPS i7-9850H T1000 16GB 512GB NVMe magyar vbill ujjolv IR kam gar
- BOMBA ÁRrR! Lenovo ThinkPad T14 Gen 4 Ryzen 5 PRO 7540U 14" FHD+ 32GB 1TB Lenovo gar: 2028.01.07!
- Gigabyte Aorus Master 16 //OLED // RTX 5090 // Számla // Garancia //
- 32GB DDR4 so-dimm laptop RAM 3200MHz 2666MHz
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- AKCIÓ! ASUS H310M i5 8500 16GB DDR4 240GB SSD GTX 1060 6GB Zalman T3 Plus CoolerMaster 500W
- AKCIÓ! AsRock H510M i5 11400 16GB DDR4 512GB SSD RTX 2070 Super 8GB ZALMAN S2 TG Adata 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



