Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00543 010275 11040601 na godz. na dobę w sumie
Java 2. Podstawy - książka
Java 2. Podstawy - książka
Autor: , Liczba stron: 744
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-984-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> java - programowanie
Porównaj ceny (książka, ebook, audiobook).

Pięć wydań w USA, pierwsze wydanie w Polsce!

'Java 2. Podstawy' jest najlepszą książką dla programistów. Nie ma sobie równych pod względem ilości przekazanych informacji, a mimo to pozostaje bardzo czytelna. -- K. N. King, Computer Reviews

Programiści znajdą tu wszystko, czego potrzeba, aby wykorzystać potęgę języka Java... -- PC Week

'Java 2. Podstawy' dostarcza wszystkiego, czego potrzebujesz, aby ukończyć nawet najbardziej skomplikowane projekty. Dlatego właśnie ta książka przez pięć lat była międzynarodowym bestsellerem. 'Java 2. Podstawy' omawia podstawy platformy Java 2 Standard Edition w wersji 1.3, zawiera pełny opis zorientowanego obiektowo środowiska programistycznego Javy, komponentów interfejsu użytkownika Swing i wiele, wiele więcej.

Piąta wydanie prezentuje wiele nowych, gotowych do zastosowania programów, z których zasłynęły poprzednie edycje tej książki: pojawiły się również nowe programy dotyczące mechanizmu odbicia oraz optymalizacji kodu. Szczegółowo wyjaśniono koncepcję klas wewnętrznych, funkcjonowanie proxy, obsługę wyjątków, techniki usuwania błędów, model zdarzeń Javy, interfejs wejścia/wyjścia oraz zarządzania plikami.

Kompendium dla programistów Javy, a w nim:

To idealna książka dla profesjonalnych programistów, którzy chcą nauczyć się Javy i wykorzystać ją w swojej pracy zawodowej. Zawiera CD-ROM z kodem źródłowy wszystkich przykładów, Forte ™ -- Java Community Edition (zintegrowane środowisko programistyczne Javy) oraz wersje testowe wielu innych użytecznych programów.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Java 2. Podstawy KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Autorzy: Cay S. Horstmann, Gary Cornell T³umaczenie: Maciej Gorywoda ISBN: 83-7197-984-3 Tytu³ orygina³u: Core Java 2 Volume 1 Fundamentals Format: B5, stron: 740 „Java 2. Podstawy” jest najlepsz¹ ksi¹¿k¹ dla programistów. Nie ma sobie równych pod wzglêdem iloġci przekazanych informacji, a mimo to pozostaje bardzo czytelna. — K. N. King, Computer Reviews Programiġci znajd¹ tu wszystko, czego potrzeba, aby wykorzystaæ potêgê jêzyka Java… — PC Week „Java 2. Podstawy” dostarcza wszystkiego, czego potrzebujesz, aby ukoñczyæ nawet najbardziej skomplikowane projekty. Dlatego w³aġnie ta ksi¹¿ka przez piêæ lat by³a miêdzynarodowym bestsellerem. „Java 2. Podstawy” omawia podstawy platformy Java 2 Standard Edition w wersji 1.3, zawiera pe³ny opis zorientowanego obiektowo ġrodowiska programistycznego Javy, komponentów interfejsu u¿ytkownika Swing i wiele, wiele wiêcej. Pi¹ta wydanie prezentuje wiele nowych, gotowych do zastosowania programów, z których zas³ynê³y poprzednie edycje tej ksi¹¿ki: pojawi³y siê równie¿ nowe programy dotycz¹ce mechanizmu odbicia oraz optymalizacji kodu. Szczegó³owo wyjaġniono koncepcjê klas wewnêtrznych, funkcjonowanie proxy, obs³ugê wyj¹tków, techniki usuwania b³êdów, model zdarzeñ Javy, interfejs wejġcia/wyjġcia oraz zarz¹dzania plikami. Kompendium dla programistów Javy, a w nim: • Omówienie jêzyka Java i tworzenia aplikacji w ġrodowisku Forte(tm) • Tworzenie aplikacji GUI przy pomocy nowych klas Swing • Sposoby pisania klas proxy i klas wewnêtrznych • Korzystanie z modelu zdarzeñ Javy • Omówienie klas strumieni oraz mechanizmu zarz¹dzania plikami Spis treści Podziękowania...................................................n...................................................n......................... 11 Przedmowa ...................................................n...................................................n.............................13 ...... 13 ......... 15 Do Czytelnika ...................................................n...................................................n............ O książce..........................................n...................................................n......................... Rozdział 1. Wprowadzenie do Javy...................n...................................................n............................17 Java jako narzędzie programistyczne...................................................n.................................. 18 Zalety Javy........................................n...................................................n......................... Koncepcje języka Java...................................................n...................................................n.... ......... 19 . 20 ..... 20 . 22 . 22 .. 23 Prosty ...................................................n...................................................n................... Zorientowany obiektowo ...................................................n............................................... 21 Rozproszony...................................................n...................................................n.............. Niezawodny...................................................n...................................................n............... Bezpieczny...................................................n...................................................n............... Neutralny pod względem architektury...................................................n............................ 24 Przenośny ...................................................n...................................................n................ .. 24 Interpretowany ...................................................n...................................................n...........25 Wydajny ...................................................n...................................................n.................. ... 25 Wielowątkowy ...................................................n...................................................n............ 25 . 26 Dynamiczny...................................................n...................................................n............... ........ 26 Aplety w działaniu ...................................................n...................................................n...... 27 Java po stronie serwera...................................................n................................................ 28 Java i Internet...................................................n...................................................n.......... Krótka historia Javy ...................................................n...................................................n......... 28 Główne nieporozumienia dotyczące Javy ...................................................n............................ 31 Rozdział 2. Środowisko programistyczne Javy ...................................................n..........................35 Instalowanie pakietu Java Software Development Kit...................................................n......... 36 Konfiguracja ścieżki dostępu ...................................................n........................................ 36 Instalowanie bibliotek i dokumentacji ...................................................n........................... 37 Instalowanie przykładowych programów książki Core Java............................................... 38 Drzewo katalogów Javy ...................................................n................................................. 38 Różne środowiska programistyczne...................................................n.................................... 39 Korzystanie z linii poleceń ...................................................n.................................................. 40 Rozwiązywanie problemów ...................................................n............................................ 42 Praca ze zintegrowanym środowiskiem programistycznym...................................................n.. 43 Wyszukiwanie błędów kompilacji...................................................n................................... 44 Kompilowanie i uruchamianie programów przy użyciu edytora tekstu .................................... 46 ..... 48 Aplikacje graficzne.................................n...................................................n........................ Aplety ...................................................n...................................................n................... ........... 51 4 Java 2. Podstawy Rozdział 3. Podstawy programowania w Javie...................................................n...........................57 Prosty program napisany w Javie...................................................n........................................ 58 Komentarze ...................................................n...................................................n............... Typy danych...................................................n...................................................n.............. ...... 60 ....... 61 Liczby całkowite ...................................................n...................................................n.........62 Typy zmiennoprzecinkowe ...................................................n............................................. 62 Typ znakowy...................................................n...................................................n.............. Typ boolean ...................................................n...................................................n.............. . 63 . 64 Zmienne ...................................................n...................................................n.................. ........ 65 Przypisanie i inicjalizacja ...................................................n.................................................... 66 ...... 66 ........ 67 Stałe ...................................................n...................................................n.................... Operatory ...................................................n...................................................n................ Operatory inkrementacji i dekrementacji...................................................n....................... 69 Operatory relacji i typu boolean ...................................................n.................................... 69 Operatory bitowe...................................................n...................................................n........ 70 Funkcje i stałe matematyczne...................................................n....................................... 71 Konwersje pomiędzy typami numerycznymi...................................................n................... 72 Rzutowanie ...................................................n...................................................n............... Hierarchia nawiasów i operatorów ...................................................n................................ 73 . 73 Łańcuchy ...................................................n...................................................n................. ........ 74 Konkatenacja...................................................n...................................................n.............74 Wycinanie łańcuchów...................................................n...................................................n. 75 Edycja łańcuchów...................................................n...................................................n....... 75 Porównywanie łańcuchów...................................................n.............................................. 77 Czytanie dokumentacji API online ...................................................n................................. 79 Czytanie danych...................................................n...................................................n......... 81 Formatowanie wyjścia ...................................................n...................................................n 83 Instrukcje sterujące...................................................n...................................................n..... .... 86 Blok instrukcji ...................................................n...................................................n............ 86 Instrukcje warunkowe ...................................................n...................................................n 87 Pętle nieokreślone...................................................n...................................................n..... 89 Pętle określone.....................................n...................................................n........................93 Wielokrotny wybór — polecenie switch ...................................................n......................... 96 Przerywanie instrukcji sterowania ...................................................n................................. 98 Wielkie liczby ...................................................n...................................................n................. 100 Tablice.............................................n...................................................n........................ ......... 102 Inicjalizacja tablic i tablice anonimowe ...................................................n....................... 103 Kopiowanie tablic...................................................n...................................................n..... 104 Parametry linii poleceń ...................................................n............................................... 105 Sortowanie tablicy ...................................................n...................................................n... 106 Tablice wielowymiarowe...................................................n.............................................. 109 Tablice nierównej długości ...................................................n.......................................... 112 Rozdział 4. Obiekty i klasy ...................................................n......................................................... 115 Wprowadzenie do programowania zorientowanego obiektowo............................................. 116 Słownictwo OOP...................................................n...................................................n....... 117 Obiekty ...................................................n...................................................n.................. Relacje pomiędzy klasami...................................................n........................................... 119 Porównanie OOP z konwencjonalnymi technikami programowania proceduralnego........ 121 .. 118 Korzystanie z istniejących klas ...................................................n......................................... 123 Obiekty i zmienne obiektów ...................................................n........................................ 123 Klasa biblioteczna GregorianCalendar ...................................................n........................ 126 Spis treści 5 Tworzenie własnych klas ...................................................n.................................................. 133 Klasa Pracownik ...................................................n...................................................n...... 133 Używanie wielu plików źródłowych równocześnie ...................................................n........ 136 Analiza klasy Pracownik ...................................................n.............................................. 137 Pierwsze doświadczenia z konstruktorami ...................................................n.................. 137 Metody klasy Pracownik...................................................n.............................................. 139 Metody dostępu do danych prywatnych ...................................................n...................... 142 Metody prywatne...................................................n...................................................n...... 143 Finalne pola składowe ...................................................n................................................ 143 Pola i metody statyczne...................................................n...................................................n. 144 Pola statyczne ...................................................n...................................................n......... 144 Stałe ...................................................n...................................................n.................... .... 145 Metody statyczne...................................................n...................................................n..... 146 Metody fabryczne...................................................n...................................................n..... 147 Metoda main ...................................................n...................................................n........... 147 Parametry metod...................................................n...................................................n........... 150 Konstrukcja obiektów ...................................................n...................................................n.... 155 Przeładowanie...................................................n...................................................n.......... 155 Domyślna inicjalizacja pól składowych...................................................n........................ 156 Konstruktory domyślne ...................................................n............................................... 157 Bezpośrednia inicjalizacja pól składowych ...................................................n.................. 157 Nazwy parametrów...................................................n...................................................n... 158 Wywoływanie innego konstruktora ...................................................n.............................. 159 Bloki inicjalizacji...................................................n...................................................n....... 160 Niszczenie obiektów i metoda finalize...................................................n......................... 163 Pakiety ...................................................n...................................................n.................. ........ 164 Wykorzystanie pakietów...................................................n.............................................. 164 Komentarze dokumentacji ...................................................n................................................ 172 Wstawianie komentarzy ...................................................n.............................................. 172 Dokumentacja klasy...................................................n...................................................n. 173 Dokumentacja metod...................................................n.................................................. 174 Dokumentacja pól składowych...................................................n.................................... 174 Komentarze standardowe ...................................................n........................................... 174 Dokumentacja pakietu i podsumowanie ...................................................n..................... 176 Generowanie dokumentacji...................................................n......................................... 176 Porady dotyczące projektowania klas ...................................................n............................... 177 Rozdział 5. Dziedziczenie...................................................n...................................................n........ 181 .. 181 Rozszerzanie klas...................................................n...................................................n........ Hierarchie dziedziczenia...................................................n.............................................. 188 Polimorfizm ...................................................n...................................................n..............189 Wiązanie dynamiczne...................................................n.................................................. 190 Zapobieganie dziedziczeniu — klasy i metody finalne...................................................n. 192 Rzutowanie ...................................................n...................................................n.............. 193 Klasy abstrakcyjne...................................................n...................................................n... 195 Dostęp chroniony...................................................n...................................................n..... 200 Object — uniwersalna nadklasa...................................................n....................................... 201 Metody equals i toString ...................................................n............................................. 202 Programowanie uniwersalne ...................................................n....................................... 209 Klasa ArrayList...................................................n...................................................n......... 211 Klasy opakowań...................................................n...................................................n....... 217 Klasa Class ...................................................n...................................................n.............. ..... 221 6 Java 2. Podstawy Mechanizm odbicia...................................................n...................................................n........224 Wykorzystanie mechanizmu odbicia do analizy możliwości klas ..................................... 225 Wykorzystanie mechanizmu odbicia do analizy obiektów w czasie działania programu .. 229 Wykorzystanie mechanizmu odbicia w pisaniu kodu uniwersalnej tablicy ...................... 235 Wskaźniki do metod ...................................................n...................................................n 238 Zastosowanie dziedziczenia w projektowaniu ...................................................n................... 242 Rozdział 6. Interfejsy i klasy wewnętrzne ...................................................n................................245 ........ 246 Interfejsy ...................................................n...................................................n............... Właściwości interfejsów ...................................................n.............................................. 250 Interfejsy i klasy abstrakcyjne...................................................n..................................... 251 Interfejsy i wywołania zwrotne...................................................n..................................... 252 Klonowanie obiektów...................................................n...................................................n..... 255 Klasy wewnętrzne...................................................n...................................................n......... . 260 Wykorzystanie klas wewnętrznych do kontaktowania się ze zmiennymi obiektu ............ 262 Specjalne zasady składni dla klas wewnętrznych...................................................n........ 266 Czy klasy wewnętrzne są użyteczne? Czy są w ogóle potrzebne? I czy są bezpieczne?..... 266 Lokalne klasy wewnętrzne ...................................................n.......................................... 269 Statyczne klasy wewnętrzne ...................................................n....................................... 274 Proxy ...................................................n...................................................n.................... ......... 277 Właściwości klas proxy ...................................................n............................................... 281 Rozdział 7. Programowanie grafiki ...................................................n..........................................283 Wprowadzenie do zestawu Swing...................................................n................................ 284 Tworzenie ramek ...................................................n...................................................n.......... Pozycjonowanie ramek ...................................................n...................................................n.. 290 Wyświetlanie informacji w panelach ...................................................n................................. 295 Figury 2D ...................................................n...................................................n................ Kolory ...................................................n...................................................n................... ....... 299 ......... 307 . 287 Wypełnianie figur geometrycznych...................................................n............................... 310 Tekst i czcionki...................................................n...................................................n.............. 312 Obrazy ...................................................n...................................................n................... ........ 321 Rozdział 8. Obsługa zdarzeń...................................................n.....................................................329 Podstawy obsługi zdarzeń ...................................................n................................................ 330 Przykład — obsługa kliknięcia przycisku ...................................................n..................... 332 Wybór słuchaczy zdarzeń ...................................................n............................................ 338 Przykład — zmiana „wyglądu i wrażenia” ...................................................n.................... 341 Przykład — przechwytywanie zdarzeń okna ...................................................n................. 344 Hierarchia zdarzeń AWT...................................................n...................................................n. 347 Zdarzenia semantyczne i zdarzenia niskiego poziomu w AWT.............................................. 350 Mechanizm obsługi zdarzeń — podsumowanie...................................................n........... 350 Typy zdarzeń niskiego poziomu...................................................n......................................... 353 Aktywacja komponentów...................................................n............................................. 353 Zdarzenia dotyczące klawiatury...................................................n................................... 355 Pochłanianie zdarzeń ...................................................n.................................................. 361 Zdarzenia dotyczące myszki...................................................n........................................ 361 Działania ...................................................n...................................................n................ ....... 368 Multicasting........................................n...................................................n.............................. 377 Kolejka zdarzeń ...................................................n...................................................n.......... ... 380 Dołączanie własnych zdarzeń...................................................n...................................... 381 Spis treści 7 Rozdział 9. Komponenty Swing interfejsu użytkownika ...................................................n..............391 Wzór projektu MVC ...................................................n...................................................n........392 Analiza MVC przycisków zestawu Swing...................................................n...................... 396 Wprowadzenie do zarządzania układem graficznym...................................................n.......... 398 Układ krawędzi...................................................n...................................................n......... 400 Panele ...................................................n...................................................n................... .. 401 Wprowadzanie tekstu ...................................................n...................................................n.... 403 Pola tekstowe ...................................................n...................................................n.......... 403 Walidacja danych ...................................................n...................................................n..... 409 Pola haseł...................................................n...................................................n............... Obszary tekstowe ...................................................n...................................................n.... 418 Etykiety i komponenty etykiet...................................................n...................................... 421 Wybór tekstu...................................................n...................................................n............ 423 Edycja tekstu ...................................................n...................................................n........... 424 . 417 Dokonywanie wyborów...................................................n...................................................n... 426 Pola wyboru ...................................................n...................................................n............. 426 Przełączniki ...................................................n...................................................n............. . 429 Krawędzie ...................................................n...................................................n................433 Listy kombinowane ...................................................n...................................................n.. 437 Suwaki ...................................................n...................................................n................... Menu...................................................n...................................................n..................... .. 440 ........ 446 Tworzenie menu...................................................n...................................................n....... 446 Ikony elementów menu...................................................n............................................... 449 Pola wyboru i przełączniki jako elementy menu ...................................................n.......... 450 Menu kontekstowe ...................................................n...................................................n.. 452 Mnemoniki i akceleratory...................................................n............................................ 453 Włączanie i wyłączanie elementów menu...................................................n.................... 455 Paski narzędzi...................................................n...................................................n.......... 459 Podpowiedzi...................................................n...................................................n............. 461 Zaawansowane techniki zarządzania układem graficznym...................................................n 464 Układ siatkowy...................................................n...................................................n......... 467 Układ pudełkowy...................................................n...................................................n...... 471 Układ arkuszowy ...................................................n...................................................n...... 476 Parametry gridx, gridy, gridweight oraz gridheight ...................................................n....... 478 Pola wagowe...................................................n...................................................n............ 478 Parametry fill i anchor...................................................n................................................. 478 Poszycie...........................................n...................................................n......................... .. 479 Alternatywna metoda określania parametrów gridx, gridy, gridwidth i gridheight............ 479 Praca bez menedżera układu...................................................n...................................... 483 Tworzenie własnych menedżerów układu ...................................................n.................... 483 Sekwencja dostępu...................................................n...................................................n.. 487 Okna dialogowe...................................................n...................................................n........... .. 489 Okna wyboru ...................................................n...................................................n............ 490 Tworzenie okien dialogowych ...................................................n...................................... 501 Przesyłanie danych ...................................................n...................................................n.. 505 Okno pliku.........................................n...................................................n......................... Okno wyboru koloru ...................................................n...................................................n. 522 . 511 Podstawy apletów...................................................n...................................................n......... Rozdział 10. Aplety...................................................n...................................................n.................529 . 529 Prosty aplet ...................................................n...................................................n.............532 Uruchamianie przeglądarki apletów ...................................................n............................ 534 8 Java 2. Podstawy Oglądanie apletu w przeglądarce ...................................................n................................ 535 Przekształcanie aplikacji w aplety ...................................................n............................... 539 Cykl życia apletu ...................................................n...................................................n...... 540 Podstawy systemu ochrony...................................................n......................................... 542 Okna dialogowe w apletach ...................................................n........................................ 543 Znaczniki HTML oraz atrybuty apletów...................................................n.............................. 545 Atrybuty określające położenie apletu...................................................n......................... 546 Atrybuty dotyczące kodu apletu...................................................n................................... 547 Atrybuty dotyczące przeglądarek nie połączonych z Javą................................................ 550 Znacznik OBJECT ...................................................n...................................................n..... 550 Znaczniki Java Plug-In ...................................................n................................................. 551 Przekazywanie informacji apletom ...................................................n.............................. 552 Multimedia ...................................................n...................................................n............... ..... 557 Adresy URL ...................................................n...................................................n.............. 558 Tworzenie plików multimedialnych ...................................................n.............................. 559 Kontekst apletu...................................................n...................................................n.......... ... 560 Komunikacja pomiędzy apletami...................................................n................................. 560 Wyświetlanie elementów w przeglądarce ...................................................n.................... 561 Aplet „Spis adresów”...................................................n.................................................. 563 To aplet. Nie, to aplikacja. To jedno i to samo!..................................................n............ 565 Pliki JAR...................................................n...................................................n................ Manifest ...................................................n...................................................n................. Przechowywanie plików JAR ...................................................n........................................ 573 Autonomiczne pliki JAR ...................................................n............................................... 574 Zasoby...................................................n...................................................n................... Pakiety opcjonalne...................................................n...................................................n... 578 Pieczętowanie...................................................n...................................................n.......... 579 .. 574 ......... 570 . 572 Rozdział 11. Wyjątki i proces debugowania...................................................n.................................581 .. 582 Obsługa błędów...................................................n...................................................n........... Klasyfikacja wyjątków ...................................................n................................................. 583 Powiadamianie o wyjątkach zwracanych przez metody...................................................n 585 Jak wygenerować wyjątek?...................................................n.......................................... 587 Tworzenie klas wyjątków ...................................................n............................................. 588 Łapanie wyjątków ...................................................n...................................................n......... . 589 Wielokrotne łapanie wyjątków ...................................................n..................................... 591 Powtórne zwracanie tego samego wyjątku ...................................................n.................. 592 Jeszcze jedno spojrzenie na obsługę błędów i wyjątków ................................................ 595 Wskazówki dotyczące korzystania z wyjątków...................................................n................... 599 Techniki debugowania ...................................................n...................................................n... 602 Metody debugowania ...................................................n.................................................. 602 Stwierdzenia ...................................................n...................................................n............ 606 Korzystanie z okna konsoli ...................................................n......................................... 609 Śledzenie zdarzeń AWT ...................................................n............................................... 610 Robot AWT ...................................................n...................................................n............... 614 Profilowanie ...................................................n...................................................n.............618 Test wykorzystania...................................................n...................................................n... 622 Korzystanie z debuggera ...................................................n.................................................. 623 Debugger JDB ...................................................n...................................................n.......... 623 Debugger Forte ...................................................n...................................................n........ 628 Spis treści 9 Rozdział 12. Strumienie i pliki...................................................n.....................................................631 ...... 631 Strumienie..........................................n...................................................n........................ Wczytywanie i zapisywanie bajtów...................................................n............................... 632 Zoo pełne strumieni ...................................................n...................................................n......634 Budowa filtrów strumieni ...................................................n............................................ 637 Strumienie danych ...................................................n...................................................n... 640 Strumienie plików swobodnego dostępu...................................................n..................... 643 Strumienie plików ZIP...................................................n...................................................n....653 Wykorzystanie strumieni...................................................n...................................................n 660 Zapisywanie separowanego tekstu ...................................................n............................. 661 Klasa StringTokenizer oraz tekst separowany...................................................n............. 662 Pobieranie separowanego tekstu...................................................n................................ 663 Strumienie swobodnego dostępu...................................................n................................ 666 Strumienie obiektów...................................................n...................................................n......673 Przechowywanie obiektów zmiennego typu ...................................................n................. 674 Format pliku serializacji obiektów ...................................................n............................... 678 Problem zapisywania referencji obiektów...................................................n.................... 682 Format referencji obiektów ...................................................n......................................... 688 Ochrona ...................................................n...................................................n.................. Wersje ...................................................n...................................................n................... Serializacja w roli klonowania ...................................................n..................................... 697 . 690 .. 695 Zarządzanie plikami...................................................n...................................................n...... . 700 Dodatek A Słowa kluczowe Javy.........................n...................................................n......................707 Skorowidz...................................................n...................................................n............................709 10 Aplety W tym rozdziale: n podstawy apletów, n znaczniki HTML oraz atrybuty apletów, n multimedia, n kontekst apletu, n pliki JAR. W poprzednich rozdziałach poznałeś już większość narzędzi Javy, znasz też podstawy pro- gramowania graficznego w tym języku. Mamy nadzieję, że podobnie jak my uważasz, iż Java jest dobrym (jeśli nie doskonałym) zorientowanym obiektowo językiem ogólnego prze- znaczenia, a biblioteki interfejsu użytkownika Swing są elastyczne i użyteczne. To ważne zalety, ale to nie one są powodem całego tego zamieszania wokół Javy. Niesamowity zamęt, jaki powstał w czasie pierwszych kilku lat istnienia Javy (wspominaliśmy o tym w rozdziale 1.) wynikał z faktu, iż Java jest zdolna do „ożywienia” Internetu. Możesz tworzyć specjalne programy Javy (nazywane apletami), które mogą być pobierane z Internetu i uruchamiane przez przeglądarki internetowe połączone z Javą. W tym rozdziale nauczysz się pisać pod- stawowe aplety. Profesjonalizm apletów zależy od stopnia opanowania przez programistę mechanizmu wielowątkowości oraz programowania sieciowego w Javie. Są to bardziej skom- plikowane tematy, które poruszymy w książce Java 2. Techniki zaawansowane. Nowoczesne przeglądarki internetowe obsługują Dynamic HTML oraz języki skryptowe, co sprawia, że potrafią dużo więcej niż w chwili, gdy na rynku pojawiła się platforma Javy. Wciąż jednak aplety napisane w prawdziwym języku programowania mają większe możli- wości niż jakakolwiek kombinacja języków HTML, XML i języków skryptowych. Podstawy apletów Do tej pory używałeś języka HTML (ang. hypertext markup language — hipertekstowy język znaczników) do opisywania układu graficznego stron internetowych. HTML to proste na- rzędzie służące do oznaczania elementów hipertekstu. Dla przykładu, 6+6. oznacza tytuł 530 Java 2. Podstawy strony, a więc każdy tekst, który znajdzie się za tym znacznikiem, zostanie potraktowany jak tytuł danej strony. Koniec tytułu oznaczasz napisem 6+6. (jest to jedna z podstawowych zasad znaczników — znak , wraz z następującą po nim nazwą, oznacza koniec elementu). Podstawowa zasada umieszczania apletów na stronach internetowych jest prosta — strona HTML musi poinformować przeglądarkę, jakie aplety powinny zostać załadowane, a następnie gdzie na stronie powinny się one znaleźć. Jak mogłeś tego oczekiwać, znacznik, którego musisz użyć, powinien informować przeglądarkę o tym: n skąd pobierać pliki klas, n jak wyświetlić aplet na stronie (rozmiar apletu, położenie itd.). Jednym ze sposobów umieszczania apletów na stronach internetowych jest użycie znacznika #22. 6 oraz parametrów przekazujących opisane powyżej informacje. Kon- sorcjum W3 zaproponowało zmianę znacznika na bardziej uniwersalną nazwę 1$, 6, a znacznik #22. 6 został zanegowany przez specyfikację HTML 4.0. Najnowsze prze- glądarki rozpoznają obydwa znaczniki, ale musisz pamiętać, że ich starsze wersje znają wyłącznie #22. 6. W dalszej części tego rozdziału omówimy znaczniki HTML dotyczące apletów. Następnie przeglądarka ściąga pliki klas z Internetu (lub z odpowiedniego katalogu na ma- szynie użytkownika) i uruchamia aplet przy użyciu wirtualnej maszyny Javy. Oprócz apletu strona internetowa może zawierać wiele innych elementów HTML, z którymi na pewno już się spotkałeś: czcionki, listy, grafikę, linki i tak dalej. Aplety to tylko jedna z wielu koncepcji hipertekstu. Warto zdawać sobie sprawę z faktu, że język programowania Java nie jest narzędziem służącym do projektowania stron HTML — jest narzędziem ożywiającym te strony. Nie oznacza to, że elementy projektu GUI w aplecie Javy nie są ważne, ale muszą one współpracować i w gruncie rzeczy podlegać projektowi HTML, w którym są uruchamiane. W niniejszej książce nie omawiamy znaczników; zakładamy, że znasz — lub współpra- cujesz z kimś, kto zna — podstawy języka HTML. Do uruchomienia apletów Javy wy- magana jest znajomość zaledwie kilku z nich. Oczywiście, w dalszej części tego roz- działu zapoznamy Cię z nimi. Z nauką języka HTML nie ma najmniejszego problemu — w najbliższej księgarni znajdziesz dziesiątki książek poświęconych temu językowi. Jedną z tych, które przekazują wszelkie potrzebne informacje, nie obrażając przy tym Twojej inteligencji, jest HTML i XHTML. Przewodnik encyklopedyczny, autorstwa Chucka Mu- sciano i Billa Kennedy ego, wydawnictwa Helion. W czasie powstania apletów jedyną obsługującą je przeglądarką była HotJava firmy Sun. Oczywiście, niewielu użytkowników miało ochotę używać osobnej przeglądarki tylko po to, by móc cieszyć się nowymi zabawkami. Aplety Javy stały się naprawdę popularne, gdy Netscape dołączył obsługę Javy do swojej przeglądarki. Wkrótce to samo stało się z Internet Explorerem. Niestety, producenci przeglądarek internetowych pozostali daleko w tyle za Javą. Na szczęście i Netscape, i Internet Explorer obsługują Javę 1.0, a ich nowsze wersje radzą sobie z większością narzędzi Javy 1.1. Mimo to musimy podkreślić, że obsługa apletów wiąże się z denerwującymi ograniczeniami i niezgodnością. Dla przykładu, Microsoft prawdopodobnie nigdy nie zaimplementuje tych elementów Javy, które uważa za konkurencyjne względem jego własnej technologii. Netscape Rozdział 10. n Aplety 531 w zasadzie stracił już zainteresowanie maszynami wirtualnymi. Netscape 6 pozwala użyt- kownikom podłączyć do przeglądarki ich własną maszynę wirtualną, ale np. Netscape 4 nie posiada takiej możliwości. Wszystko to utrudnia tworzenie apletów korzystających z nowych właściwości Javy, a przy tym działających na różnych przeglądarkach. Aby przezwyciężyć ten problem, Sun udostępnił narzędzie o nazwie „Java Plug-In” (począt- kowo nosiło ono nazwę „Activator”). Korzystając z mechanizmów rozszerzania aplikacji, obsługiwanych przez przeglądarki Internet Explorer i Netscape Navigator, Java Plug-In podłą- cza się do obydwu przeglądarek i umożliwia im uruchamianie apletów Javy przy użyciu ze- wnętrznego Java Runtime Environment (środowiska wykonawczego Javy), dostarczanego przez firmę Sun. Wszystko na to wskazuje, że JRE zawsze będzie używać najnowszej wersji maszyny wirtualnej, dzięki czemu zawsze będziesz mógł korzystać z najnowszych i najwspa- nialszych osiągnięć języka Java. Gdy już zainstalujesz Java Plug-In, będziesz mógł wybrać odpowiadającą Ci wersję maszyny wirtualnej Javy. Aby uruchamiać aplety zamieszczone w tej książce, musisz zainstalować Java Plug-In i wybrać maszynę Java 1.3 (patrz rysunek 10.1). Rysunek 10.1. Wybór maszyny wirtualnej Javy w oknie Java Plug-In Oczywiście, jeżeli projektujesz stronę internetową dla szerokiego grona odbiorców, wymaga- nie, aby każdy użytkownik Twojej strony zainstalował Java Plug-In, w ogóle nie wchodzi w grę, ponieważ pobieranie go zajmuje trochę czasu. W takim wypadku musisz zaprojektować aplety, które będą działać z maszyną wirtualną Javy wbudowaną w Netscape Navigatora lub w Internet Explorera. Najlepiej jest trzymać się narzędzi Java 1.0 i tak bardzo uprościć aplet, jak to tylko możliwe. Jednak, szczerze mówiąc, jeżeli Twój aplet ma być tak prosty, to prawdopodobnie możesz się w ogóle obyć bez niego — w algorytmach możesz używać Java- Scriptu, przekazywać dane za pomocą formularzy, a w animacjach używać animowanych plików GIF. Następnie cały program umieszczasz na serwerze, najlepiej na serwerze obsłu- gującym oparte na Javie strony internetowe oraz serwlety. Z drugiej strony, jeżeli piszesz bardzo skomplikowany program, zastanów się, czy wykorzy- stanie przeglądarki internetowej do uruchamiania go niesie ze sobą jakiekolwiek korzyści. Jeżeli nie, możesz po prostu udostępnić aplikację Javy, którą użytkownik będzie mógł ścią- gnąć i uruchomić na swoim komputerze. Wciąż będziesz korzystał ze wszystkich osiągnięć Javy, takich jak niezależność od platformy, zarządzanie ochroną danych oraz prosty dostęp do 532 Java 2. Podstawy sieci i baz danych. Oczywiście, korzystanie z przeglądarki także ma swoje zalety. Użytkownikowi zazwyczaj łatwiej jest zlokalizować aplikację na stronie internetowej niż w lokalnym sys- temie plików (aplikację łatwo zgubić, jeżeli nie korzystamy z niej na co dzień). Z kolei ad- ministratorowi łatwiej jest aktualizować aplikację na stronie internetowej niż wysyłać po- prawki i udoskonalenia wszystkim zainteresowanym. Programami Javy, które odniosły największy sukces, są aplikacje intranetowe pełniące funkcję interfejsów dla systemów informacyjnych. Dla przykładu, wiele firm zainwestowało w programy obliczające zwrot kosztów, wynajdujące potencjalnie korzystne transakcje, pla- nujące harmonogramy i dni wolne od pracy, obsługujące wydawanie zleceń i tak dalej. Programy te są relatywnie małe, potrzebują kontaktu z bazami danych i elastyczności, jaką zapewniają formularze stron internetowych, oraz muszą być dostosowane do wymagań danej korporacji. Aplety są więc dla nich doskonałym narzędziem. A ponieważ liczba użytkowników jest ogra- niczona, nie ma problemu z dystrybucją Java Plug-In. Zalecamy, abyś dla swoich aplikacji sieciowych wybrał jedno z następujących rozwiązań: 1. Jeżeli pracujesz w intranecie, używaj Java Plug-In do obsługi apletów Javy. Pozwoli Ci to na maksymalną kontrolę nad platformą Javy, zmniejszy ból głowy spowodowany przenośnością oraz da możliwość korzystania z najbardziej zaawansowanych narzędzi Javy. Oczywiście, w takim wypadku musisz zadbać o instalację Java Plug-In na komputerach użytkowników. 2. Jeżeli nie pracujesz w intranecie, nie używaj apletów. Przy obliczeniach korzystaj z języków skryptowych; przy animacji — z animowanych plików GIF; przy wpisywaniu danych — z formularzy oraz z przetwarzania danych po stronie serwera. Prosty aplet Aby zadośćuczynić tradycji, pierwszym apletem, jaki napiszemy, będzie 0KG9KVCL5YKGEKG. Zanim to zrobimy, musimy podkreślić, że z punktu widzenia programisty aplety nie są niczym nowym. Aplet to po prostu klasa Javy rozszerzająca (koniecznie) klasę LCXCCRRNGV#RRNGV. Zwróć uwagę, że pakiet LCXCCRRNGV nie jest częścią pakietu AWT, mimo iż aplet jest komponentem AWT, co widać na rysunku 10.2 przedstawiającym hierarchię dziedziczenia. W naszej książce do implementacji apletów będziemy używać zestawu Swing. Jak możesz się przekonać, spoglądając na rysunek 10.2, ,#RRNGV jest bezpośrednią podklasą klasy #RRNGV. Jeżeli Twój aplet zawiera komponenty Swing, musisz rozszerzyć klasę ,#RRNGV. Kom- ponenty Swing znajdujące się wewnątrz samej klasy #RRNGV nie zostaną prawidłowo przerysowane. Hierarchia dziedziczenia (rysunek 10.2) niesie ze sobą pewne oczywiste, lecz mimo to użyteczne konsekwencje. Na przykład, ponieważ aplety są komponentami AWT, obsługa zdarzeń w apletach działa dokładnie tak samo, jak omawiana w rozdziale 8. obsługa zdarzeń aplikacji. Listing 10.1 zawiera kod apletu „Nie Witaj Świecie”. Rysunek 10.2. Hierarchia dziedziczenia apletu Rozdział 10. n Aplety 533 Listing 10.1. NieWitajSwiecieAplet.java KORQTVLCXCCYV  KORQTVLCXCZUYKPI   RWDNKEENCUU0KG9KVCL5YKGEKG#RNGVGZVGPFU,#RRNGLV ] RWDNKEXQKFKPKV ]  QPVCKPGTRQY CYCTVQUEKIGV QPVGPV2CPG  ,.CDGNGV[MKGVCPGY,.CDGN 6QPKGLGUVCRNGV 9LKVCLħYKGEKG  5YKPI QPUVCPVU 06 4  RQY CYCTVQUEKCFF GV[MKGVC  _ _ Zauważ, jak bardzo ten kod przypomina odpowiadający mu program z rozdziału 7. Jednakże, ponieważ aplet znajduje się wewnątrz strony internetowej, nie trzeba określać, w jaki sposób program kończy swoje działanie. 534 Java 2. Podstawy Uruchamianie przeglądarki apletów Aby uruchomić aplet, wykonaj następujące czynności: 1. Skompiluj pliki źródłowe w pliki klas. 2. Utwórz plik HTML, który poinformuje przeglądarkę, który plik klasy ma załadować jako pierwszy oraz w jaki sposób ma wyświetlić aplet. Zazwyczaj (ale niekoniecznie) nadajesz plikowi HTML taką samą nazwę, jaką nosi odpowia- dająca mu nazwa pliku klasy. Tak więc, zgodnie z tradycją, nazwiemy nasz plik NieWitaj- SwiecieAplet.html. Oto zawartość tego pliku: #22. 6 1 0KG9KVCL5YKGEKG#RNGVENCUU9+ 6** +)*6 #22. 6 Przed uruchomieniem apletu w przeglądarce powinieneś przetestować go za pomocą programu appletviewer, który jest częścią Java SDK. Aby użyć przeglądarki apletów w naszym przykła- dowym programie, wpisz w linii poleceń CRRNGVXKGYGT0KG9KVCL5YKGEKG#RNGVJVON Plikiem przetwarzanym przez przeglądarkę apletów jest plik HTML, a nie plik klasy. Rysunek 10.3 przedstawia przeglądarkę apletów wyświetlającą powyższy aplet. Rysunek 10.3. Aplet uruchamiany przez przeglądarkę apletów Możesz również uruchamiać aplety za pomocą swojego edytora lub środowiska programi- stycznego. W systemie Emacs wybierz z menu JDE/Run Applet. Używając programu Textpad, wybierz Tools/Run Java Applet lub użyj skrótu klawiaturowego CTRL+3. Zo- stanie wyświetlone okno dialogowe prezentujące wszystkie pliki HTML znajdujące się w aktualnym katalogu. Jeżeli naciśniesz klawisz ESC, Textpad automatycznie utworzy najmniejszy możliwy plik HTML. W systemie Forte po prostu załaduj stronę HTML za- wierającą znacznik apletu. Forte obsługuje prostą przeglądarkę, prezentującą działanie apletu wewnątrz strony internetowej. Możesz również kliknąć prawym klawiszem myszki plik źródłowy i w zakładce Execution zmienić wartość Executor na Applet Execution. Dzięki poniższej sztuczce możesz uniknąć tworzenia dodatkowych plików HTML. Dołącz znacznik apletu do pliku źródłowego jako komentarz:  #22. 6 1 /QL#RNGVENCUU9+ 6** +)*6 #22. 6  RWDNKEENCUU/QL#RNGVGZVGPFU,#RRNGV  Rozdział 10. n Aplety 535 Następnie uruchom przeglądarkę apletów, jako parametr w linii poleceń podając plik źródłowy: CRRNGVXKGYGT/QL#RNGVLCXC Nie polecamy tej procedury, ale może ona okazać się pomocna, jeśli zależy Ci na zminima- lizowaniu liczby plików, o które musisz się martwić w czasie testowania programu. Przeglądarka apletów przydaje się podczas wstępnych testów, ale w pewnym momencie będziesz zmuszony uruchomić swoje aplety w przeglądarce internetowej, aby zobaczyć je w ten sam sposób, w jaki będzie je oglądał użytkownik. Program przeglądarki apletów pokazuje wyłącznie aplet, pomijając otaczający go tekst HTML. Jeżeli plik HTML zawiera kilka apletów, przeglą- darka apletów wyświetli po prostu kilka okienek. Oglądanie apletu w przeglądarce Jeżeli posiadasz przeglądarkę obsługującą Java 2, taką jak Netscape 6 lub Opera, wystarczy otworzyć w niej plik HTML. Jednakże aby uruchomić aplet w Internet Explorerze lub Netscape 4, musisz zainstalować w przeglądarce Java Plug-In i skonwertować plik HTML tak, aby wywo- ływał ten program. Jeżeli zainstalowałeś Java 2 SDK, Java Plug-In został zainstalowany automatycznie. Jednakże jeżeli chcesz zainstalować Java Plug-In osobno, możesz go pobrać z witryny http://java.sun.com/ products/plugin. Gdy już zainstalujesz SDK lub Java Plug-In, wywołaj Panel sterowania Java Plug-In (patrz rysunek 10.4). Jeśli używasz Windows, przejdź do panelu sterowania Windows (Start/Ustawienia/Panel sterowania) i kliknij dwukrotnie ikonę Java Plug-In. Jeżeli uży- wasz Solaris, wpisz polecenie `PGVUECRGLCXC QPVTQN2CPGN lub załaduj stronę `PGVUECRGLCXC QPVTQN2CPGNJVON Następnie zaznacz pole Show Java Console. Dzięki temu za każdym razem, gdy uru- chomisz Java Plug-In, pojawi się okno konsoli (patrz rysunek 10.5). Okno konsoli jest bardzo pomocne przy wyświetlaniu komunikatów o błędach. Rysunek 10.4. Panel sterowania Java Plug-In 536 Java 2. Podstawy Rysunek 10.5. Konsola Javy Niestety, znaczniki HTML, których musisz używać, wywołując Java Plug-In, są dość niepo- ręczne. Zamiast pisać je własnoręcznie, łatwiej będzie Ci uruchomić konwerter HTML, dostar- czany w tym celu przez firmę Sun (patrz rysunek 10.6). Możesz go ściągnąć z http://java.sun.com/ products/plugin1.3/converter.html. Rozpakuj plik, np. do /usr/local/jdk/converter lub c:jdk converter. Rysunek 10.6. Konwerter HTML Java Plug-In Konwerter, na podstawie prostego pliku HTML zawierającego tradycyjny znacznik #22. 6, tworzy skomplikowany kod HTML, wymagany przez różne przeglądarki do uruchomienia Java Plug-In. Zanim rozpoczniesz, utwórz katalog plugin i skopiuj do niego swój plik lub pliki HTML. Możesz uruchomić konwerter HTML w następujący sposób: przejdź do katalogu plugin i wydaj następujące polecenie: LCXCENCUURCVJWUTNQECNLFMEQPXGTVGTENCUUGU*6/. QPXGTVGLT lub LCXCENCUURCVJE LFM EQPXGTVGT ENCUUGU*6/. QPXGTVGT Rozdział 10. n Aplety 537 Domyślnie konwerter wyświetla graficzny interfejs użytkownika (patrz rysunek 10.6). Możesz używać tego programu do konwersji wszystkich plików w danym katalogu. Jeżeli wywołasz program z katalogu plugin, wszystkie dane wejściowe zostaną wpisane automatycznie i będziesz mógł po prostu kliknąć przycisk Convert. Możesz również skorzystać z języka skryptowego lub pliku wsadowego, umieszczając go w katalogu jdk/converter/classes, ale w takim wypadku musisz własnoręcznie określić katalog plików HTML. Dla przykładu, w przypadku 0KG9KVCL5YKGEKG#RNGVJVON zaczynamy od następującego prostego kodu HTML: #22. 6 1 /QL#RNGVENCUU9+ 6** +)*6 #22. 6 Wynik konwersji jest zawarty w listingu 10.2. Znaczniki tego kodu wyjaśnimy w dalszej części rozdziału. Listing 10.2. NieWitajSwiecieApletPlugin.html  108 46 A#22. 6  108 46 48 45+10 1$, 6ENCUUKFENUKF#    $ (  9+ 6** +)*6EQFGDCUGJVVRLCXCUWPEQORTQFWEVURLNWIKP åLKPUVCNNYKPECD8GTUKQP 2#4#/0#/  1 8#.7 0KG9KVCL5YKGEKG#RNGVENCUU 2#4#/0#/ V[RG8#.7 CRRNKECVKQPZLCXCCRRNGVXGTUKQPL 2#4#/0#/ UETKRVCDNG8#.7 HCNUG  1// 06  /$ V[RGCRRNKECVKQPZLCXCCRRNGVXGTUKQP å 1 0KG9KVCL5YKGEKG#RNGVENCUU9+ 6** +)*6UETKRVLCDNGHCNUG åRNWIKPURCIGJVVRLCXCUWPEQORTQFWEVURNWIKP åRNWIKPKPUVCNNJVON 01 /$  1// 06 01 /$  /$ 1$, 6  #22. 6 1 0KG9KVCL5YKGEKG#RNGVENCUU9+ 6** +)*6L #22. 6   0 A 108 46 A#22. 6 Jeśli wolisz korzystać z linii poleceń, możesz po prostu wpisać ścieżkę dostępu do pliku lub plików, które powinny zostać skonwertowane, np.: LCXCENCUURCVJWUTNQECNLFMEQPXGTVGTENCUUGU*6/. QPXGTVGLT JVON lub LCXCENCUURCVJE LFM EQPXGTVGT ENCUUGU*6/. QPXGTVGT/QL#RNLGVJVON Konwerter używający linii poleceń skonwertuje i utworzy pliki zapasowe w ten sam sposób, w jaki wyświetla okno dialogowe. Domyślnie konwerter produkuje pliki HTML, które działają zarówno w przeglądarce Inter- net Explorer, jak i w Netscape Navigator. Istnieją jednak inne sposoby konwersji — jeśli chcesz dowiedzieć się więcej, zajrzyj do dokumentacji konwertera. 538 Java 2. Podstawy Konwerter zamienia zawartość wszystkich plików w danym katalogu, a stare wersje kopiuje do katalogu katzrodlowy_BAK. Dla przykładu, jeżeli umieściłeś oryginalne pliki w katalogu plugin, zostaną one zastąpione plikami skonwertowanymi, a oryginały zostaną skopiowane do plugin_BAK. Nie podoba nam się ten rodzaj konwersji — nawet jeżeli konwerter zachowuje oryginalne pliki. Zazwyczaj wygodnie jest mieć pod ręką zarówno oryginalny, jak i skonwertowany plik. Zalecamy następującą procedurę: 1. Skopiuj pliki do katalogu tymczasowego. 2. Uruchom konwerter. 3. Zmień nazwy skonwertowanych plików na coś w rodzaju MojApletPlugin.html. 4. Przenieś pliki z powrotem do oryginalnego katalogu. Gdy już skonwertujesz pliki, możesz uruchomić aplet w przeglądarce. Po prostu załaduj skonwertowany plik HTML do swojej przeglądarki internetowej. O ile Java Plug-In został prawidłowo zainstalowany, na ekranie pojawi się aplet (patrz rysunek 10.7). Jeżeli Java Plug-In nie został zainstalowany, Twoja przeglądarka powinna przeprowadzić Cię przez proces jego pobierania i instalacji. Rysunek 10.7. Oglądanie apletu w przeglądarce Testowanie apletów korzystających z Java Plug-In jest trochę bolesne, ponieważ mu- sisz uruchamiać swoje pliki HTML przy użyciu konwertera. Jeżeli używasz Netscape 4, możesz zaoszczędzić sobie trochę pracy, pod warunkiem jednak, że Twoje aplety nie korzystają z żadnych narzędzi Java 2 oprócz zestawu Swing (wszystkie aplety w tym rozdziale spełniają ten warunek). Ściągnij z witryny http://java.sun.com/products/jfc/ #download-swing dodatek do zestawu Swing. Umieść plik swing.jar w katalogu Netscape CommunicatorProgramJavaClasses. Teraz Netscape 4 będzie w stanie uruchamiać aplety korzystające z zestawu Swing — wystarczy, że załadujesz prosty plik HTML za- wierający znacznik #22. 6. Konwersja na znaczniki /$ nie będzie już potrzebna. W przypadku Internet Explorera procedura jest podobna, lecz bardziej skomplikowana. Szczegóły znajdziesz pod adresem http://java.sun.com/products/jfc/tsc/articles/ applets/index.html. Przekształcanie aplikacji w aplety Rozdział 10. n Aplety 539 Konwersja aplikacji graficznej (czyli aplikacji korzystającej z AWT, którą możesz urucho- mić przy użyciu interpretera LCXC) na aplet, który możesz umieścić na stronie internetowej, jest dość prostym zadaniem. W gruncie rzeczy, cały kod interfejsu użytkownika pozostaje bez zmian. Oto procedura, którą musisz wykonać, aby przekształcić aplikację w aplet: 1. Napisz stronę HTML zawierającą odpowiedni znacznik
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Java 2. Podstawy
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: