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á.

Java 2 Útikalauz programozóknak

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…