Hirdetés
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Így tüzelt el százbillió forintot az AI a héten
- Kétféle módon harcol a forró helyzetekkel szemben az ASUS új, M.2-es SSD háza
- Mérföldkő a szilárdtest akkuknál: fontos lépést tett a QuantumScape
- Degeneratív kapcsolóval készül a Firefox
Ú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?:))
- Automata kávégépek
- mefistofeles: Az elhízás nem akaratgyengeség!
- Sorozatok
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Háztartási gépek
- Raspberry Pi
- Bittorrent topik
- Windows 7
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- További aktív témák...
- Gamer PC - R5 5600X, RTX 3060ti és 16gb RAM + GARANCIA
- HIGH-END GAMER PC Ryzen 7 9800X3D / RTX 5080 16GB / 32GB DDR5 / 2TB NVMe - Beszámítás
- Lenovo Tab M11 / TB330FU
- SZUPER Akcióban Új Bontatlan Dyson V15 Origin 3 év gyártói garanciával Azonnal Átvehető
- Bontatlan Intel Core ULTRA 9 285K (24mag!) + hűtött VRM-es Z890 alaplap! GAR/SZÁMLA (a Te nevedre)!
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- BESZÁMÍTÁS! ASUS ROG Crosshair VIII Extreme alaplap garanciával hibátlan működéssel
- Bomba ár! Dynabook Portege X30L-J - i7-1165G7 I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- Samsung Galaxy S20 Ultra / 12/128GB / Kártyafüggetlen / 12Hó Garancia
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs




