Swing

Java Biblia 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...