Swing
Nos, megvan az első hozzászóló a vendégkönyvben (időközben megszüntetve), nagyon köszönöm a biztatást, én is csak biztatni tudlak, hogy haladj tovább a Java rögös útjain, mert megéri. A többieket is arra szeretném biztatni, hogyha van Javaval kapcsolatos kérdésük, ötletük, írják meg a vendégkönyvbe. Ezen kívül várok minden Javaval kapcsolatos anyagot, szívesen kilinkelem, kiteszem ide, írok is róla pár szót. Remélem sikerül valami komplexebb site-ot összehozni, de ehhez kéne a ti segítségetek is.
Kaptam is egy kérdést, amire megpróbálok választ adni. A kérdés a következőképpen szól, aki nem olvasná a vendégkönyvet. (Hiba…)
en most eppen azzal szorakozom hogy egyik threadbol egy masik threadben levo JLabel settext() metodusaval valtoztassam annak erteket …. eddig nem sok sikerrel … 5let???
Nos ezzel én is szívtam anno rendesen, a pontos választ a Java 2
Útikalauz programozóknak kedvenc könyvem második kötetének A.2.2.
fejezete adja. Csak annyit írnák ide, hogy az MVC architektúra miatt
szinkronizálni kell a komponens modelljét és a megjelenítését. Azért,
hogy a Swing gyors legyen, ezt fullon kihagyták (nem mintha így villám
lenne), és biztosítani kell, hogy a módosításokat csak az AWT
végrehajtószál futtathassa. Ha egy eseménykezelőből állítasz valamit,
akkor az nem gáz, mert alapban ezen a szálon keresztül megy, de ha saját
szálat indítasz, és onnan közvetlenül hívsz beállító metódusokat, akkor
gebasz lehet. Ezért kell alkalmazni a SwingUtilities
osztály
invokeLater
metódusát, aminek egy Runnable
objektumot kell átadni,
és ennek a run()
metódusát futtatja az AWT szál, amint ideje van rá.
Remélem segítettem, a kulcsosztályra mindenesetre érdemes rákeresni. Ha lehet, majd a nicket és e-mailt is írjatok be a megjegyzésbe, hogy tudjam, ki írta…