- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Milyen okostelefont vegyek?
- Xiaomi 17 Ultra - jó az optikája
- iPhone topik
- Google Pixel topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 15 - kicsi telefon nagy energiával
- Apple Watch Sport - ez is csak egy okosóra
Ú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?:))
- Samsung Galaxy A54 - türelemjáték
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- NBA és kosárlabda topic
- Robogó, kismotor
- Formula-1
- Lexus, Toyota topik
- Projektor topic
- Fűnyíró topik
- Számtech boltosok memoárjai, azaz amikor kiborulunk...
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- GIGABYTE RTX 5070 12GB GDDR7 WINDFORCE OC SFF - Új, 3 év garancia - Eladó!
- ZOTAC RTX 5070 12GB GDDR7 Twin Edge - Új, Bontatlan - Eladó!
- Apple Watch S11 46mm - fekete, full doboz - Apple garancia (106)
- Asus Chromebook C423NA, 8GB RAM, N4200 Pentium, 180 Kihajtható
- NVIDIA GEFORCE4 MX 4000 64 MB RETRO AGP VIDEOKÁRTYA
- MSI Thin GF63 - 15,6"FHD 144Hz - i5-12450H - 16GB - 512GB - Win11 - RTX 4050 - Garancia - MAGYAR
- Lenovo ThinkPad W541,15.6,FHD,i7-4810MQ,32GB DDR3,256GB SSD,K1100 2GB VGA,WIN10
- GEN5!!! 14/12GB/s 1TB Gen5x4 NVMe SSD, 1 év gar
- AKCIÓ! Apple MacBook Pro 14 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




