TARTALOMJEGYZÉK A szerzõrõl............................................................ xiii Bevezetés.............................................................. xv I. rész Az elsõ lépések 1. óra Hogyan váljunk programozóvá? 3 A programozási nyelv kiválasztása........................................... 4 A számítógép utasítása feladatok elvégzésére................................... 6 Hogyan mûködik egy program?............................................. 8 Hogyan nem mûködik egy program?......................................... 9 A következõ megálló: a Java................................................ 9 Hivatalos dokumentáció............................................... 11 Gyakorlat: Java-fejlesztõeszköz telepítése..................................... 11 Összefoglalás........................................................... 11 Kérdezz-felelek......................................................... 12 Ismétlés............................................................... 13 Gyakorlatok............................................................ 14 2. óra Elsõ programunk 15 Mi szükséges ahhoz, hogy programokat írjunk?................................. 16 A Saluton program elkészítése.............................................. 17 Kezdjünk hozzá!..................................................... 17 A class utasítás....................................................... 18 A main utasítás szerepe................................................ 18 Azok a fránya kapcsos zárójelek......................................... 18 Információ tárolása egy változóban....................................... 19 Változó tartalmának megjelenítése........................................ 20 A kész program mentése.................................................. 20 A program lefordítása osztályfájllá........................................... 21 Gyakorlat: Egy Java program futtatása........................................ 24 Összefoglalás........................................................... 24 Kérdezz-felelek......................................................... 25 Ismétlés............................................................... 27 Gyakorlatok............................................................ 28 3. óra Jávai vakáció 29 Az elsõ megálló: Sun Microsystems.......................................... 30 A Java rövid története................................................. 31 Iskolába a Javával.................................................... 33 Ebéd a JavaWorldnél..................................................... 34 Figyeljük az eget a NASA-nál............................................... 37 Üzletre fel!............................................................. 38 Kérjünk útmutatást a Gamelantól!........................................... 39 Gyakorlat: Kalandozás egy másik világban.................................... 41 Összefoglalás........................................................... 42 Kérdezz-felelek......................................................... 42 Ismétlés............................................................... 44 Gyakorlatok............................................................ 45
vi Tanuljuk meg a Java programozási nyelvet 24 óra alatt 4. óra A Java programok mûködése 47 Egy alkalmazás elkészítése................................................ 48 Paraméterek átadása alkalmazásoknak....................................... 49 A kisalkalmazások alapjai................................................. 50 Paraméterek átadása kisalkalmazásoknak..................................... 53 Gyakorlat: Kisalkalmazást futtató kód megtekintése............................. 55 Összefoglalás........................................................... 56 Kérdezz-felelek......................................................... 56 Ismétlés............................................................... 57 Gyakorlatok............................................................ 58 II. rész A programozás alapjai 5. óra Adatok tárolása és módosítása programokban 61 Utasítások és kifejezések.................................................. 62 Változók típusának meghatározása.......................................... 62 Egész és lebegõpontos számok.......................................... 63 Karakterek és karakterláncok............................................ 64 Egyéb számértéket tároló változók....................................... 65 A boolean változótípus................................................ 66 A változók elnevezése.................................................... 67 Információ tárolása változókban............................................ 67 Gyakorlat: Kifejezések használata........................................... 68 Minden, amit a mûveleti jelekrõl tudni érdemes................................ 71 Változók növelése és csökkentése........................................ 72 A mûveletek sorrendje................................................. 74 Összefoglalás........................................................... 76 Kérdezz-felelek......................................................... 76 Ismétlés............................................................... 78 Gyakorlatok............................................................ 78 6. óra Kommunikáció karakterláncokkal 79 Szövegek tárolása karakterláncokban........................................ 80 Karakterláncok megjelenítése programokban.................................. 81 Különleges karakterek használata karakterláncokban............................ 82 Karakterláncok összefûzése................................................ 83 Más változók használata karakterláncokban................................... 84 Karakterlánc-kezelés haladóknak........................................... 85 Két karakterlánc összehasonlítása........................................ 85 Karakterláncok hosszának megállapítása................................... 86 Karakterláncok kis- vagy nagybetûssé tétele................................ 86 Karakterláncok keresése............................................... 87 Gyakorlat: Stáblista megjelenítése........................................... 88 Összefoglalás........................................................... 90 Kérdezz-felelek......................................................... 90 Ismétlés............................................................... 92 Gyakorlatok............................................................ 93 7. óra Döntéshozás feltételek vizsgálatával 95 Feltételek vizsgálata...................................................... 96 Az if utasítás........................................................... 96 A kisebb, mint és nagyobb, mint mûveleti jelek........................... 97 Egyenlõ és nem egyenlõ összehasonlítások.............................. 98 Programok tagolása utasításblokkokkal.................................... 98
Tanuljuk meg a Java programozási nyelvet 24 óra alatt vii Az if else utasítások.................................................... 100 Elágazások............................................................ 100 A háromtényezõs feltételes mûvelet......................................... 102 Gyakorlat: Órafigyelõ................................................... 103 Összefoglalás.......................................................... 107 Ismétlõ kérdések....................................................... 107 Ismétlés.............................................................. 109 Gyakorlatok........................................................... 110 8. óra Mûveletek ismétlése ciklusokkal 111 A for ciklus........................................................... 112 A while ciklus......................................................... 115 A do while ciklus..................................................... 116 Kilépés a ciklusból...................................................... 118 Ciklusok elnevezése.................................................... 119 Összetett for ciklusok................................................. 119 Gyakorlat: móresre tanítjuk a számítógépet!.................................. 120 Összefoglalás.......................................................... 122 Kérdezz-felelek........................................................ 123 Ismétlés.............................................................. 124 Gyakorlatok........................................................... 124 III. rész Az információk kezelésének új módjai 9. óra Információk tárolása tömbökben 127 Tömbök létrehozása.................................................... 128 A tömbök használata.................................................... 130 Többdimenziós tömbök.................................................. 132 Tömbök rendezése..................................................... 133 Gyakorlat: Szerencsekerék................................................ 135 Összefoglalás.......................................................... 139 Kérdezz-felelek........................................................ 139 Ismétlés.............................................................. 141 Gyakorlatok........................................................... 142 10. óra Elsõ objektumaink 143 Az objektumközpontú programozás mûködése................................ 144 Objektumok mûködés közben............................................ 145 Mik az objektumok?..................................................... 147 Öröklés.............................................................. 148 Öröklési hierarchia felépítése............................................. 149 Objektumok és egyszerû változók átalakítása................................. 150 Egyszerû változók típusának átalakítása..................................... 151 Objektumok típusának átalakítása.......................................... 152 Egyszerû változók objektummá és objektumok változóvá alakítása................. 153 Automatikus becsomagolás és kicsomagolás.................................. 155 Gyakorlat: Objektum létrehozása........................................... 155 Összefoglalás.......................................................... 158 Kérdezz-felelek........................................................ 158 Ismétlés.............................................................. 159 Gyakorlatok........................................................... 160
viii Tanuljuk meg a Java programozási nyelvet 24 óra alatt 11. óra Az objektumok leírása 161 Változók létrehozása.................................................... 162 Osztályváltozók létrehozása............................................... 164 A viselkedés megadása tagfüggvényekkel.................................... 165 Tagfüggvények bevezetése............................................... 166 Hasonló tagfüggvények különbözõ argumentumokkal.......................... 168 Konstruktorok......................................................... 168 Osztálytagfüggvények................................................... 169 A változók hatóköre a tagfüggvényeken belül................................. 170 Osztályok egymásba ágyazása............................................. 171 A this kulcsszó használata................................................ 173 Gyakorlat: Az osztálytagfüggvények és -változók használata...................... 174 Összefoglalás.......................................................... 176 Kérdezz-felelek........................................................ 176 Ismétlés.............................................................. 178 Gyakorlatok........................................................... 179 12. óra Hogyan hozzuk ki a legtöbbet a létezõ objektumokból? 181 Az öröklés ereje........................................................ 182 A viselkedés és a jellemzõk öröklése........................................ 183 Tagfüggvények felülírása................................................. 184 Az öröklés létrehozása................................................... 184 A this és a super kulcsszavak használata az alosztályokban....................... 185 Létezõ objektumok használata............................................. 186 Azonos osztályba tartozó objektumok tárolása vektorokban...................... 187 Vektor elemeinek bejárása ciklussal......................................... 189 Gyakorlat: Alosztály létrehozása........................................... 191 Összefoglalás.......................................................... 194 Kérdezz-felelek........................................................ 194 Ismétlés.............................................................. 195 Gyakorlatok........................................................... 196 IV. rész A grafikus felhasználói felület programozása 13. óra Egyszerû felhasználói felület létrehozása 199 A Swing és az Abstract Windowing Toolkit................................... 200 Komponensek használata................................................ 200 Keretek és ablakok.................................................. 201 Gombok........................................................... 204 Címkék és szövegmezõk.............................................. 206 Jelölõnégyzetek..................................................... 207 Lenyíló listák....................................................... 209 Szövegmezõk....................................................... 210 Panelek........................................................... 210 Gyakorlat: Saját komponens létrehozása..................................... 211 Összefoglalás.......................................................... 214 Kérdezz-felelek........................................................ 215 Ismétlés.............................................................. 215 Gyakorlatok........................................................... 216 14. óra A felhasználói felület kialakítása 217 Elrendezéskezelõk használata............................................. 218 A GridLayout elrendezéskezelõ......................................... 220 A BorderLayout elrendezéskezelõ....................................... 221
Tanuljuk meg a Java programozási nyelvet 24 óra alatt ix A BoxLayout elrendezéskezelõ......................................... 222 Komponensek szétválasztása az Insets osztály segítségével.................... 223 Gyakorlat: A felhasználói felület elrendezése................................. 224 Összefoglalás.......................................................... 228 Kérdezz-felelek........................................................ 229 Ismétlés.............................................................. 230 Gyakorlatok........................................................... 231 15. óra Válasz a felhasználói beavatkozásra 233 A program felkészítése az események fogadására.............................. 234 Komponensek észlelhetõvé tétele.......................................... 235 Felhasználói események kezelése.......................................... 235 Jelölõnégyzet- és lenyílólista-események.................................. 237 Billentyûesemények.................................................. 237 Komponensek engedélyezése és letiltása.................................. 239 Gyakorlat: Lottóõrület................................................... 240 Összefoglalás.......................................................... 249 Kérdezz-felelek........................................................ 250 Ismétlés.............................................................. 251 Gyakorlatok........................................................... 252 16. óra Összetett felhasználói felület készítése 253 Gördítõpanelek........................................................ 254 Csúszkák............................................................. 257 Változásfigyelõk........................................................ 258 Menük............................................................... 262 Gyakorlat: Ikonok és eszköztárak használata................................. 265 Összefoglalás.......................................................... 269 Kérdezz-felelek........................................................ 270 Ismétlés.............................................................. 271 Gyakorlatok........................................................... 272 V. rész Multimédiás alkalmazások készítése I. 17. óra Interaktív webes alkalmazások készítése 275 Szabványos kisalkalmazás-függvények...................................... 276 A kisalkalmazás-ablak kirajzolása........................................ 277 A kisalkalmazás kezdõértékeinek beállítása................................ 278 Kisalkalmazások indítása és leállítása..................................... 279 Kisalkalmazások megsemmisítése....................................... 279 Kisalkalmazás elhelyezése weboldalon...................................... 279 Egy minta-kisalkalmazás................................................. 280 Rajzolás a kisalkalmazás ablakában...................................... 281 Kipróbáljuk a SalutonApplet programot................................... 282 A Java Plug-in bõvítmény................................................. 284 Paraméterek átvétele weboldalról.......................................... 285 Paraméterek fogadása a kisalkalmazásokban.................................. 285 Gyakorlat: Paraméterek kezelése a kisalkalmazásokban......................... 286 A Java Web Start........................................................ 288 A Java Web Start használata............................................... 292 Összefoglalás.......................................................... 296 Kérdezz-felelek........................................................ 296 Ismétlés.............................................................. 297 Gyakorlatok........................................................... 298
x Tanuljuk meg a Java programozási nyelvet 24 óra alatt 18. óra Hibák kezelése a programban 299 Kivételek............................................................. 300 Kivételek elkapása try-catch blokkban.................................... 301 Különbözõ kivételek elkapása.......................................... 304 Mi történik a kivétel után?............................................. 305 Kivételek kiváltása................................................... 305 Kivételek figyelmen kívül hagyása....................................... 307 Állítások.............................................................. 307 Gyakorlat: Kivételek kiváltása és elkapása.................................... 309 Összefoglalás.......................................................... 312 Kérdezz-felelek........................................................ 312 Ismétlés.............................................................. 313 Gyakorlatok........................................................... 314 19. óra Több szálon futó program létrehozása 315 Szálak............................................................... 316 Program lassítása.................................................... 316 Szálak létrehozása................................................... 317 A szálak használata..................................................... 320 Az osztály bevezetése................................................ 321 A változók beállítása................................................. 322 Indítás az init() tagfüggvénnyel............................................ 323 Hibák kezelése URL objektumok használata során............................. 323 Képernyõ frissítése a paint() tagfüggvénnyel.................................. 324 A szál indítása......................................................... 325 A szál futtatása...................................................... 326 A szál futásának megállítása............................................ 327 Egérkattintások kezelése................................................. 327 Gyakorlat: Egymást váltó hivatkozások megjelenítése........................... 328 Összefoglalás.......................................................... 331 Kérdezz-felelek........................................................ 332 Ismétlés.............................................................. 333 Gyakorlatok........................................................... 334 20. óra Fájlok olvasása és írása 335 Adatfolyamok......................................................... 336 Fájlok............................................................. 337 Adatok olvasása adatfolyamból......................................... 338 Átmeneti tárazású bemeneti adatfolyamok................................. 341 Adatok írása adatfolyamba................................................ 343 Beállítófájlok olvasása és írása............................................. 344 Gyakorlat: Bájtok írása MP3 fájlba.......................................... 346 Összefoglalás.......................................................... 350 Kérdezz-felelek........................................................ 350 Ismétlés.............................................................. 351 Gyakorlatok........................................................... 352 VI. rész Multimédiás alkalmazások készítése II. 21. óra XML adatok olvasása és írása 355 XML fájl létrehozása..................................................... 356 XML fájl olvasása....................................................... 359 Gyakorlat: RSS Syndication folyamok olvasása................................ 363 Összefoglalás.......................................................... 366
Tanuljuk meg a Java programozási nyelvet 24 óra alatt xi Kérdezz-felelek........................................................ 366 Ismétlés.............................................................. 367 Gyakorlatok........................................................... 368 22. óra Betûtípusok és színek használata 369 A Font osztály használata................................................. 370 A Color osztály használata................................................ 374 A színválasztás egyéb módszerei........................................... 374 Gyakorlat: Veszélyre figyelmeztetõ üzenet megjelenítése........................ 376 Összefoglalás.......................................................... 381 Kérdezz-felelek........................................................ 382 Ismétlés.............................................................. 383 Gyakorlatok........................................................... 383 23. óra Képek a programban 385 Képek használata....................................................... 386 Vonalak és formák rajzolása............................................... 388 Vonalak rajzolása.................................................... 388 Téglalapok rajzolása.................................................. 389 Ellipszisek és körvonalak rajzolása....................................... 391 Körívek rajzolása.................................................... 391 Sokszögek rajzolása.................................................. 392 Különbözõ szélességû vonalak rajzolása.................................. 393 A piktogram elkészítése............................................... 394 Gyakorlat: Kördiagram rajzolása........................................... 396 Összefoglalás.......................................................... 403 Kérdezz-felelek........................................................ 403 Ismétlés.............................................................. 404 Gyakorlatok........................................................... 405 24. óra Animáció 407 Képek sorozatának animálása............................................. 408 Képek betöltése és megjelenítése....................................... 410 Képek csoportjának tárolása........................................... 412 Paraméterek átadása a kisalkalmazásnak..................................... 412 Gyakorlat: Labda pattogtatása............................................. 414 A kép megrajzolása.................................................. 417 Összefoglalás.......................................................... 418 Kérdezz-felelek........................................................ 419 Ismétlés.............................................................. 420 Gyakorlatok........................................................... 421 VII. rész Ráadás 25. óra Webszolgáltatások készítése az XML-RPC használatával 425 Az Apache XML-RPC használata........................................... 426 XML-RPC kezelõ létrehozása.............................................. 427 XML-RPC kiszolgáló létrehozása........................................... 430 XML-RPC ügyfél létrehozása.............................................. 433 Gyakorlat: A LottoMadness alkalmazás továbbfejlesztése....................................................... 436 Összefoglalás.......................................................... 440 Kérdezz-felelek........................................................ 441 Ismétlés.............................................................. 442 Gyakorlatok........................................................... 443
xii Tanuljuk meg a Java programozási nyelvet 24 óra alatt VIII. rész Függelékek A függelék A Java Development Kit használata 447 A megfelelõ Java-fejlesztõi eszköz kiválasztása................................ 448 A Java Development Kit beállítása.......................................... 452 Szövegszerkesztõ használata.............................................. 461 Egy mintaprogram elkészítése............................................. 462 A CLASSPATH változó beállítása........................................... 466 B függelék Programozás a Java Development Kit használatával 471 A JDK áttekintés...................................................... 472 A javac fordító......................................................... 475 Az appletviewer böngészõ................................................ 477 A javadoc dokumentációkészítõ eszköz...................................... 481 A jar fájlarchiváló eszköz................................................. 485 A jdb hibakeresõ....................................................... 486 Rendszertulajdonságok használata.......................................... 491 Összefoglalás.......................................................... 493 Kérdezz-felelek........................................................ 493 C függelék A NetBeans integrált fejlesztõkörnyezet használata 495 Egy mintaprogram elkészítése............................................. 498 D függelék Merre tovább? Java-források 503 Más könyvek, amelyeket esetleg érdemes elolvasni............................ 504 A Sun hivatalos Java-weblapja............................................. 505 Más Java-webhelyek.................................................... 505 Java-hírcsoportok....................................................... 507 IRC.................................................................. 508 Munkalehetõségek...................................................... 508 E függelék A könyv webhelye 509 Tárgymutató........................................................... 511 A CD-ROM tartalma..................................................... 526