Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kormányok / autós szimulátorok topikja
- Vezetékes FEJhallgatók
- Milyen CPU léghűtést vegyek?
- Milyen notebookot vegyek?
- Milyen videókártyát?
- Projektor topic
- Vezeték nélküli fejhallgatók
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- TCL LCD és LED TV-k
Ú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?:))
- Nagyrobogósok baráti topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Vicces videók
- Kormányok / autós szimulátorok topikja
- Kerékpárosok, bringások ide!
- Elektromos autók - motorok
- Debrecen és környéke adok-veszek-beszélgetek
- Vezetékes FEJhallgatók
- Milyen CPU léghűtést vegyek?
- Motorola Edge 50 Neo - az egyensúly gyengesége
- További aktív témák...
- Dell Latitude 5420/5430/5431/5440/7420/7430/7440 Magyar Világítós billentyűzet NTTG2
- Dell Precision 7550 RTX 5000 16G! / FHD / i7 / 32G / 512G / IR HU WS tervező
- Kihagyhatatlan ajánlat! Lenovo ThinkPad P14s Gen 5 Ultra 7 165H (vPro) 32gb DDR5 ram RTX500 ADA 3K
- Egyedi PC összerakás - személyre szabva
- Egyedi PC összerakás - személyre szabva
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Èrkezett Kingston NV3 1TB SSD! Vigyètek, vegyètek használjátok!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Bomba ár! Dell Latitude 7200 2-in-1: i5-8365U I 8GB I 256SSD I 12" FHD+ Touch I Cam I W11 I Gari!
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest




