Jut eszembe, ne felejtsem leblogolni, hogy Javaban az eseménykezelést az az ablakelem tudja végezni, amelyiken rajta van a fókusz. Az eseménykezelést ehhez az elemhez nekünk kell leprogramozni, meg kell mondani, hogy ha az OK gombon van a fókusz, akkor figyelheti a billentyűzetet, és tud is mit kezdeni pl. egy Enterrel. De ha a fókusz olyan ablakelemre kerül, amihez nem társítottunk eseményfigyelést, akkor az ipse hiába nyomkod akármilyen billentyűket, nem fog történni semmi. Ilyen módon az összes ablakelemhez hozzá kell társítanunk az eseménykezelés lehetőségét, ami nem más, mint szánalmas
Ez szép dolog de ha meg is oldható (amit egyelőre nem tudok mert nem vagyok java programozó és még csak nem is érdekel különösebben), miért nem úgy van defaultból ahogy említettem?
Az előadónk is kénytelen volt erre a felvetésre elismerni, hogy hát igen, ez nem túl szép dolog a javatól
Az előadónk is kénytelen volt erre a felvetésre elismerni, hogy hát igen, ez nem túl szép dolog a javatól
Nem tudok a kérdéseidre válaszolni, mert nem figyeltem kellően előadáson. De valóban, lehet hogy valami listenerről volt szó, KeyListener talán. A lényeg hogy azt hozzá kell adni minden gombhoz.
button.addkeylistener vagy valami ilyesmi, mint előbb írtam nem emléxem.
Viszont oké hogy lesz egy gombod ami lenyomódik enterre, de hogy hajt az végre bármit is? Szal azon kívül hogy grafikailag lenyomódik, hogy rendelsz hozzá futtatandó kódot?…
button.addkeylistener vagy valami ilyesmi, mint előbb írtam nem emléxem.
Viszont oké hogy lesz egy gombod ami lenyomódik enterre, de hogy hajt az végre bármit is? Szal azon kívül hogy grafikailag lenyomódik, hogy rendelsz hozzá futtatandó kódot?…
14)
Tamás
AFAIK gomboknál van olyan, hogy ActionListener. ez akkor hajtódik végre, ha "izgatod" a gombot akár egérrel (megnyomod), akár billentyűzettel (hotkey, gomb fókuszálása mellett Space, vagy csak úgy simán Enter, ha a gomb a default). ergo azengombom.addActionListener. asszem van valami action string, amit ilyenkor a gomb elküld a listenernek, így lehet több gombra ugyanazt a listenert aggatni, és a string alapján disztingválni.
16)
Tamás
gondolom ojjektumorientált szemlélet. a window-nak semmi köze ahhoz, hogy a gombnyomásra mit csinálsz, maximum a gombnak van hozzá köze.
ez az "ojjektumorientált szemlélet" egyébként kiváló buzzword, bármikor el lehet lőni, amikor azt akarja mondani az ember, hogy "mert így van, és kész"
de szerintem ez itt kivételesen tényleg így logikus. van sok hülyesége a Java-nak, de én ezt még soha nem találtam zavarónak.
ez az "ojjektumorientált szemlélet" egyébként kiváló buzzword, bármikor el lehet lőni, amikor azt akarja mondani az ember, hogy "mert így van, és kész"
Hmm ez egy roppant érdekes érvelés amit mondasz, eddig olyanokat hallottam hogy hát ez így nem túl objektumorientált meg ronda meg fasság (és szerintem is). De amit mondasz az valahogy tud logikus lenni.
Viszont ha logikus, akkor azt bizonyítja, hogy az objektumorientáltság sux
Mert nyilvánvalóan egyszerűbb lenne az élet ha nem kellene minden egyes gombhoz hozzárendelni egy listenert.
Viszont ha logikus, akkor azt bizonyítja, hogy az objektumorientáltság sux
De várjunk már. Akkor felteszek egy kérdést:
Mi köze a gombjaimnak ahhoz, hogy a fókusz olyan gombra esik éppen, amin nincs listener?!
Ez a probléma előadáson akkor jött elő, amikor a kukac játék (nem haraphat a saját farkába, nem ütközhet falnak, négy irányba mehet, stb) volt a példa.
Volt az ablakban maga a játék, meg két gomb: indít, vége.
És ha nem ezeken volt a fókusz, akkor hiába nyomkodtál le-fel-jobbra-balra gombokat, mert nem kapta meg őket a kukac. Ez milyen fasság? Mi köze az indít és vége gombnak ahhoz, hogy tudom-e a kukacot irányítani?
Mi köze a gombjaimnak ahhoz, hogy a fókusz olyan gombra esik éppen, amin nincs listener?!
Ez a probléma előadáson akkor jött elő, amikor a kukac játék (nem haraphat a saját farkába, nem ütközhet falnak, négy irányba mehet, stb) volt a példa.
Volt az ablakban maga a játék, meg két gomb: indít, vége.
És ha nem ezeken volt a fókusz, akkor hiába nyomkodtál le-fel-jobbra-balra gombokat, mert nem kapta meg őket a kukac. Ez milyen fasság? Mi köze az indít és vége gombnak ahhoz, hogy tudom-e a kukacot irányítani?

