Hirdetés
- A Sony megmutatja milyen monitor illik a PlayStation 5-höz
- 2,5 gigabittel hasítanak a belépőszinten az új Asustor NAS-ok
- SteamOS gyere már PC-re! Nem, még nem jött el az idő.
- Fürge és gazdaságos üzleti monitorral jelentkezett az EIZO
- Annyira azért nem egyedi tervezésűek a Steam Machine fő komponensei
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Sony MILC fényképezőgépcsalád
- Milyen széket vegyek?
- Kormányok / autós szimulátorok topikja
- Mini PC
- Kompakt vízhűtés
- Újra nekifeszül az asztali konzolok piacának a Valve
Ú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?:))
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Samsung Galaxy S23 Ultra - non plus ultra
- DJI topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hivatalos a OnePlus 13 startdátuma
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- iPhone topik
- Autós topik
- Milyen okostelefont vegyek?
- További aktív témák...
- Precision 7560 27% 15.6" FHD IPS i7-11850H RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- HP ZBook Studio G8 i7 32GB RAM 1TB SSD RTX A3000/Garancia
- Precision 5560 27% 15.6" FHD+ IPS i7-11800H T1200 32GB 512GB NVMe ujjlolv IR kam gar
- ELADÓ iPad 9th cellular 64 GB space gray - "láthatatlan" karc a kijelzőn, képeket csatoltam
- T14 Gen2i 27% 14" FHD IPS i7-1185G7 16GB 512GB NVMe ujjolv IR kam gar
- Bomba Ár! Fujitsu LifeBook E751 - i5-2GEN I 4GB I 500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- BESZÁMÍTÁS! Sony PlayStation 5 825GB SSD lemezes konzol garanciával hibátlan működéssel
- Intel Core i5 4440 4mag 4szál processzor garanciával hibátlan működéssel
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Dell Precision 5540 notebook - i9 9880H 64GB DDR4 2TB SSD nVidia Quadro T2000 4GB W11
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




