R-15MP.doc

(539 KB) Pobierz
Wstęp

699

25

              Wykorzystywanie Javy

Rozdział 15.

Wykorzystywanie Javy

Język JavaScript może rozszerzyć możliwości funkcjonalne Twoich stron WWW. Potencjalne możliwości języka JavaScript są jednak bardzo poważnie ograniczane przez same przeglądarki. Jak można sądzić po nazwie, JavaScript nie jest języ­kiem programowania ogólnego przeznaczenia, lecz raczej językiem skryptowym, którego celem jest rozszerzanie możliwości przeglądarki i kontrolowanie elementów stron WWW.

Jeśli jednak potrzebujesz czegoś innego — zupełnie nowych możliwości funkcjonalnych na stronach WWW — powinieneś zainteresować się Javą, językiem, na którym wzorowany jest JavaScript. Mówiliśmy już o Javie w rozdziale 13. „Multimedia: dodawanie dźwięków, obrazów wideo i innych elementów multimedialnych”, przy okazji omawiania animacji. W tym rozdziale zajmiemy się następującymi za­gadnieniami:

n               co to jest Java,

n               programowanie w Javie,

n               umieszczanie apletów na stronach WWW.

Czym jest Java?

Java została stworzona przez niewielką grupę pracowników firmy Sun Microsystems. W początkach swojego istnienia Java, zwana wtedy OAK, projektowana była jako język programowania, przeznaczony dla interaktywnych kontrolerów zwanych PDA (ang. Portable Data Assistant) oraz dla przemysłu telewizyjnego. Cechą, która wyróżniała ten język był fakt, iż można go było wykorzystać w niemal wszystkich elektronicznych urządzeniach użytkowych i zaprogramować je tak, by wykonywały potrzebne czynności. Po kilku latach użytkowania Javy w różnych projektach (począwszy od sprzętu elektronicznego domowego użytku, a skończywszy na urządzeniach do obsługi wideo), Bill Joy (jeden z twórców firmy Sun) zdał sobie sprawę z tego, iż Java jest doskonałym narzę­dziem do tworzenia programów działających w Internecie i na WWW.

Dowodem na przydatność Javy jako języka programowania przeznaczonego na potrzeby Internetu była przeglądarka HotJava, posiadająca wszystkie standardowe cechy przegląda­rek WWW, jednakże różniąca się od nich tym, że w całości została napisana w Javie. Prócz tego, HotJava była w stanie ładować i wykonywać niewielkie programy napisane w Javie, wykonywane wewnątrz stron WWW i rozszerzające standardowe możliwości języka HTML, szczególnie w zakresie animacji i interakcji z użytkownikiem. Właśnie te możli­wości tak bardzo zainteresowały znaczną część osób związanych z przemysłem internetowym.

Język Java

Te informacje historyczne na temat Javy będą musiały Ci wystarczyć; teraz bowiem zasta­nowimy się, czym jest Java oraz dlaczego możesz chcieć jej używać.

Java jest obiektowym językiem programowania, wzorowanym i podobnym do języka C++. Od samego początku Java projektowana była jednak z myślą o tym, aby język ten miał jedną charakterystyczną cechę, odróżniającą go od wszystkich innych języków programo­wania. W „świecie” Internetu istnieją bardzo różne systemy komputerowe, wykorzystujące rozmaite systemy operacyjne. Powoduje to, że programy pisane w takich językach jak C++ i wykorzystu­jące funkcje internetowe muszą być pisane specjalnie dla konkretnego syste­mu operacyjne­go. W konsekwencji, nie można sięgnąć po program napisany w języku C++, przeznaczony dla komputerów Macintosh, i uruchomić go na komputerze PC, wy­korzystującym system operacyjny Windows 95.

Java jednakże została zaprojektowana w taki sposób, aby podobne migracje programu były możliwe. W tym celu programy Javy są kompilowane do specjalnej postaci (zwanej kodami bajtowymi), która może być wykorzystywana na dowolnych komputerach, umożliwiających w ogóle uruchamianie programów Javy.

 

 

Jeśli nie miałeś jeszcze kontaktu z problematyką programowania, to pojęcie kompilacji może być dla Ciebie nowe. W odróżnieniu od HTML-a oraz JavaScriptu, programy napisane w języku Java nie mogą być tak po prostu wczytane do przeglądarki i wykonane. Przedtem będziesz musiał uruchomić specjalny program zwany kompilatorem Javy, który skonwertuje (lub skompiluje) kod źródłowy programu do specjalnej postaci umożliwiającej jego wykonanie.

 


Aplety pisane w Javie

Drugą główną cechą Javy jest możliwość pisania programów wykonywanych na stronach WWW. Używając standardowych metod wymiany danych między przeglądarką i serwe­rem, można przekazywać pomiędzy różnymi systemami komputerowymi programy napisa­ne w Javie. Programy te mogą być wykonywane na dowolnych komputerach, gdyż nie istnieją żadne ograniczenia limitujące typ komputera, na który programy mogą zostać prze­kazane. Nazywane są one apletami.

Aplet jest programem (zazwyczaj niedużym) napisanym w Javie, który może być dołączony do strony WWW. Gdy strona jest przekazywana z serwera do przeglądarki, umożliwiającej wykonywanie programów napisanych w Javie, aplet przekazywany jest wraz z nią i wykonywany.

Aby obsługiwać aplety, będziesz potrzebował specjalnej przeglądarki, która to umożliwia. Netscape Navigator 2.0 był pierwszą przeglądarką mogącą wykonywać programy napisane w Javie. Od tego czasu coraz więcej firm wykupiło licencję na stosowanie Javy, i wbudowało w swoje przeglądarki możliwość obsługi  apletów. Aktualnie przeglą­darkami umożliwiającymi wykonywanie apletów są Netscape Communicator oraz Microsoft Internet Explorer.

Do czego można użyć Javy?

Ogólnie rzecz biorąc, nie ma wielu ograniczeń limitujących możliwości apletów oraz apli­kacji napisanych w Javie. Najpoważniejszym ograniczeniem jest wyobraźnia programistów. Jednak, wziąwszy pod uwagę aplety, jakie możemy znaleźć na WWW, to wniosek, że z Internetu korzystają bardzo pomysłowe osoby, jest trafny.

 

 

Programy pisane w języku Java należą zazwyczaj do jednej z dwóch kategorii: apletów oraz aplikacji. Aplikacje są całkowicie niezależnymi progra­mami i mogą być wykonywane poza przeglądarką WWW. W tym rozdziale nie będziemy jednak mówili o aplikacjach, skupimy się całkowicie na apletach.

 

 

W tym miejscu przedstawimy przykłady kilku apletów, tak abyś mógł zobaczyć, co moż­na zrobić za pomocą Javy.

 

 

Aby oglądać aplety napisane w Javie, będziesz potrzebował specjalnej przeglądarki, na przykład, aktualnych wersji Internet Explorera oraz Netscape Navigatora.

 

 

Gamelan

Jeśli chcesz lepiej poznać możliwości oferowane przez Javę, wyświetl w swojej przeglą­darce stronę znajdującą się pod adresem http://www.gamelan.com/. Strona ta została przed­stawio­na na rys. 15.1. Jest to witryna zawierająca spis witryn wykorzystujących Javę. Możesz tam również znaleźć obszerną kolekcję apletów; dzięki niej będziesz mógł zorien­tować się, jak wiele jest powodów, dla których aplety Javy coraz częściej są dołączane do witryn WWW. Niektóre z tych powodów podano poniżej:

n               wszelkiego typu gry,

n               rozszerzone możliwości graficzne, w tym głównie wielokolorowe, animowane napisy,

n               interakcja z narzędziami 3D, takimi jak VRML,

n               symulacje,

n               arkusze kalkulacyjne oraz bardziej zaawansowane obliczenia matematyczne,

n               pozyskiwanie danych „na bieżąco”.

Rysunek 15.1

Gamelan


Netscape i Sun

Zarówno firma Netscape, jak i Sun posiadają własne witryny WWW zawierające wykazy dostępnych apletów oraz wiele różnych informacji dotyczących Javy. Stronę WWW firmy Netscape poświęconą tej tematyce możesz znaleźć pod adresem http://developer.netscape.com/tech/java/index.html. Znajdziesz na niej odwołania do wszelkich informacji dotyczących języka Java i związanych z firmą Netscape, jak również połączenia z innymi zasobami związanymi z tym językiem.

Główna strona WWW języka Java, „Source for Java Technology”, firmy Sun znajduje się pod adresem http://java.sun.com. Jak widać na rysunku 15.2, strona ta zawiera najbardziej aktualne i szczegółowe informacje dotyczące wszelkich aspektów wykorzystania Javy i stanowi podstawowe źródło narzędzi programistycznych używanych przy tworzeniu programów w Javie oraz dokumentacji języka.

Rysunek 15.2

Strona WWW poświęcona Javie

Programowanie w Javie

Ze względu na wielkość oraz stopień skomplikowania ta­kiego języka programowania jak Java, omówienie wszystkich związanych z nim zagad­nień wykracza daleko poza ramy niniejszej książki. Z tego względu, zamiast zajmować się wszystki­mi technikami programistycznymi, w tej części rozdziału skupimy się na podstawo­wych zagad­nieniach tworzenia apletów. Proces ten prześledzimy na przykła­dzie apletu symulującego w Javie działanie paska Marquee, znanego z języka HTML i opisanego w rozdziale 13. Dzięki temu będziesz mógł dok­ładniej poznać możliwości Javy.

CD-ROM              Jeśli chcesz dokładniej poznać sposób działania języka Java, to skorzystaj z jego pełnej dokumentacji stworzonej przez firmę Sun Microsystems, która znajduje się na CD-ROM-ie dołączonym do tej książki. Aby posłużyć się tą dokumentacją, będziesz musiał zainstalować program Adobe Acrobat Reader, znajdziesz go także na CD-ROM-ie w wersjach przeznaczonych dla systemów Macintosh oraz Windows.

 

 

Jeśli poszukujesz książki poświęconej w całości zagadnieniom wykorzystania języka Java, to polecam książkę „Java 1.1” wydaną również przez wydawnictwo HELION.

 

 

Java Development Kit (JDK)

Zanim zaczniesz tworzyć swoje własne aplety w Javie, będziesz musiał zdobyć odpowied­nie narzędzia programistyczne, takie jak Java Development Kit firmy Sun, Java Workshop firmy JavaSoft, Visual Java firmy Symantec, Visual J++ firmy Microsoft, SuperCede for Java firmy Assymetrix lub Roster firmy Natural Inteligence. Z wyjątkiem JDK firmy Sun (który jest dostępny bezpłatnie), wszystkie pozostałe programy są produktami komercyjny­mi i będziesz musiał je legalnie zakupić.

Wymienione powyżej narzędzia będą zawierały wszystko, czego potrzebujesz, aby skompi­lować programy napisane w języku Java. Dodatkowo będziesz mógł znaleźć w nich aktual­ne biblioteki klas, aplikację służącą do przeglądania apletów bez konieczności uruchamia­nia przeglądarki oraz narzędzia do testowania programów i odszukiwania błędnych frag­mentów kodu.

 

 

W obiektowym stylu programowania, klasa jest podstawową jednostką strukturalną tworzącą szkielet całego programu. Klasa może przypominać nieco biblio­tekę gotowych do użycia instrukcji lub szablon, którego możliwości możesz rozszerzyć, aby stworzyć nowe klasy lub całe aplikacje. Choć nie będziesz musiał rozumieć wszystkich pojęć obiektowego stylu programowania, aby móc zacząć pisać programy w Javie, to jednak dobra książka omawiająca te zagad­nienia może być bardzo przydatna. Wszystkie potrzebne informacje będziesz mógł znaleźć we wspomnianej już wcześniej książce „Java 1.1”.

 

 

Jeśli do pisania programów w Javie zechcesz używać bardziej wyrafinowanych, komercyj­nych narzędzi programistycznych, będziesz musiał je kupić. Na szczęście dla tych, którzy nie dysponują wystarczającą ilością środków finansowych, istnieje jeszcze JDK firmy Sun, które bezpłatnie można skopiować z WWW i zainstalować na własnym kompu­terze. Aby zdobyć najnowszą wersję JDK, wyświetl w przeglądarce stronę WWW pod adresem http://java.sun.com/j2se/1.3/ (patrz rys. 15.3). Aktualnie dos­tępne są wersje JDK przeznaczone dla systemów operacyjnych Windows 95/98, Windows NT, Macintosh, SPAC/Solaris 2.3, 2.4 oraz 2.5.

Rysunek 15.3

Strona WWW poświęcona Java Development Kit

 


Ćwiczenie 15.1: Tworzenie apletu Ticker



Po zdobyciu jakiegokolwiek narzędzia do tworzenia programów w Javie, będziesz mógł zacząć pisać swoje własne aplety. Programy w Javie możesz pisać, używając normalnego edytora tekstowego lub dowolnego innego edytora do tworze­nia oprogramowania. Użyty program nie ma w zasadzie znaczenia, gdyż kod programów pisanych w Javie jest normalnym tekstem, podobnie jak kod HTML. Przed uruchomieniem edytora stwórz nową kartotekę, w której zostaną umieszczone pliki apletu. Następnie otwórz edytor, utwórz w nim nowy plik o nazwie Ticker.java. (Zwróć uwagę na to, aby rozpocząć nazwę od dużej litery „T” — pamiętaj, że w Javie wielkość liter ma znaczenie).

Szkielet apletu

Ze względu na fakt, iż Java jest językiem obiektowym, praca nad apletami polega na dodawaniu nowych możliwości funkcjonalnych do standardowego szkieletu apletów, dos­tępnego w JDK. Z tego powodu, podstawowa struktura wszystkich apletów Javy jest bardzo podobna. Przedstawiamy ją poniżej na przykładowym aplecie:

/* Ćwiczenie - Ticker.class */

import java.applet.*;

import java.awt.* ;

 

public class Ticker extends Applet implements Runnable {

  Tu znajdują się dodatkowe czynności

}

Pierwsza linia powyższego przykładu jest komentarzem opisującym nazwę apletu. Jakikol­wiek tekst umieszczony pomiędzy sekwencjami znaków /* i */ jest traktowany jako ko­mentarz i ignorowany.

Następne dwie linie kodu, rozpoczynające się od słowa import, użyte zostały w celu poin­formowania kompilatora o dodatkowych bibliotekach klas używanych przez aplet. Wszyst­kie aplety korzystają z metod umieszczonych w bibliotece java.applet.*; jeśli dodatkowo będziesz chciał wyświetlać jakiekolwiek informacje na powierzchni apletu, będziesz musiał dołączyć także bibliotekę java.awt.*.

Czwarta linia kodu zawiera właściwą definicję tworzonej przez Ciebie, nowej klasy apletu. W tej linii deklarujesz nazwę nowego apletu — public class Ticker. Słowa extends Applet informują system, na jakiej klasie bazuje tworzona klasa. Ponieważ nasz przykła­dowy aplet będzie mógł być wykonywany cały czas, bez przerwy, będziesz musiał zdefinio­wać specjalny pakiet o nazwie Runnable — służą do tego słowa: implements Runnable.

 

 

Upewnij się, że słowo Ticker podałeś, używając liter tej samej wielkości, co w nazwie pliku Ticker.java. Jeśli litery w nazwie klasy oraz nazwie pliku nie będą identycznej wielkości, to podczas kompilowania programu kompilator Javy zgłosi błąd.


Deklarowanie zmiennych

Poniżej definicji klasy, będziesz musiał zdefiniować zmienne wykorzystywane w aplecie. Podobnie jak w większości innych języków obiektowych, także i w Javie wykorzystywane są różne typy danych. Oznacza to, iż podczas deklarowania zmiennej będziesz musiał ok­reślić typ wartości, które będą mogły być w niej przechowywane.

Poniżej zadeklarowane zostały zmienne, które będą dostępne w całej tworzonej klasie. Do­daj poniższy kod do tworzonego pliku:

public class Ticker extends Applet implements Runnable {

    Thread tkthread = null;

    String tktext = "Ćwiczenie - taśma telegrafu";

                                                                                                  /* Domyślny tekst */

    int tkspd = 1; /* Domyślna prędkość przesuwu (najwolniej = 1) */

    String tkfname = "TimesRoman";     /* Domyślna nazwa czcionki */

    int tkfsz = 12;                  /* Domyślny rozmiar czcionki */

    Font tkfont = null;                     /* Uchwyt do czckonki */

    String tkdirection = "Left";    /* Domyślny kierunek przesuwu */

    Dimension tksize = null;    /* Uchwyt do określenia wielkości */

    int tktextwth = 0;                        /* Szerokość tekstu */

    int tktexthgt = 0;                         /* Wysokość tekstu */

    int tkpos = -63000;                                /* Pozycja */

Metoda ...

Zgłoś jeśli naruszono regulamin