Hirdetés
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- Ketogén étrend
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- [K2]: AnyDesk átverés
- V.Milán: Lapdiffúzor nyomáseloszlása: gondoltad volna?
- Hadeska22: Fiio x Snowsky Tiny - Megoldás a (mesterségesen gerjesztett) problémára
- Aweriot: Cloudflare és mi
Ú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?:))
- MSI GF66 gamer laptop - i7-11800H, RTX 3070, 32GB RAM, 1TB SSD, Win11
- UHH! Lenovo Yoga 9i x360 Érintős Hajtogatós Laptop Tab 14" -60% i7-1280P 16/1TB Iris Xe 4K UHD OLED
- Lenovo Miix 520 i5-8250U / 8 GB RAM / 256 GB / Windows 11 / EU bill
- Bomba ár! Lenovo IdeaPad V320-17IKB - i3-7G I 8GB I 128SSD + 1TB I 17,3" I HDMI I Cam I W11 I Gari!
- Samsung Galaxy S22 Ultra 12/256gb - Törött kijelző
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
- Huawei P30 Pro / 6/128GB / Kártyafüggetlen / 12Hó Garancia / Kijelzőn beégés
- SK Hynix 32GB DDR4 2666MHz PC4-21300 laptop RAM
- HP EliteBook 840 G10 - 14"WUXGA - i7-1360P - 16GB - 512GB - Win11 - MAGYAR - 3 év garancia
- iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3581, 100% Akksi
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



