Wzorowa aplikacja

Aplikacje Javy nie muszą być uruchamiane ręcznie za pomocą okna konsoli. Pokażemy, jak przygotować plik JAR, który umożliwi uruchamianie programów ''spod ikony'' oraz jak dodać do naszej wzorowej aplikacji dokumentację.

Aplikacje Javy nie muszą być uruchamiane ręcznie za pomocą okna konsoli. Pokażemy, jak przygotować plik JAR, który umożliwi uruchamianie programów ''spod ikony'' oraz jak dodać do naszej wzorowej aplikacji dokumentację.

Do tej pory uruchamialiśmy nasze aplikacje, korzystając z okna konsoli, wywołując interpreter java. exe z nazwą naszej aplikacji jako parametrem. W przypadku programu Grafika, który zbudowaliśmy w zeszłym miesiącu, uruchomienie aplikacji wyglądało następująco:

java Grafika

Java umożliwia również uruchamianie aplikacji poprzez dwukrotne kliknięcie myszą jej ikony - podobnie jak w przypadku plików wykonywalnych. Służą do tego pliki JAR, które nauczyliśmy się tworzyć we wcześniejszym artykule dotyczącym apletów. Spróbujmy na początek przypomnieć sobie, w jaki sposób tworzymy plik JAR. Najpierw kompilujemy program, otrzymując wiele plików wynikowych, a następnie tworzymy jeden plik JAR, wpisując w oknie konsoli polecenie:

jar cf grafika.jar *.class

okna paski przyciski listy

W ten sposób utworzyliśmy skompresowane archiwum zawierające wszystkie pliki z rozszerzeniem .class, a także wymienione katalogi z ich zawartością. W wyniku tej operacji pojawił się plik grafika.jar. Jak już wiemy, pliki JAR różnią się od zwykłych plików ZIP tym, że zawierają dodatkowe informacje, które określają ich właściwości. Będziemy chcieli określić pewną właściwość naszego archiwum, wskazując plik, który jest klasą główną aplikacji. Informację tę musimy dodać do sekcji głównej tzw. manifestu. Tworzymy plik tekstowy z następującą zawartością:

Main-Class: Grafika

Ważne, aby po nazwie głównej klasy nie wpisać rozszerzenia .class, a wiersz zakończyć znakiem przejścia do nowego (Enter). Plik zapisujemy pod dowolną nazwą, np. dodatek.mf. Następnie tworzymy plik JAR, ale tym razem dołączając do głównej sekcji manifestu pożądaną właściwość. W tym celu musimy jednak zastosować dodatkowo opcję -m programu JAR, aby zaznaczyć, że dołączamy do archiwum informacje z pliku dodatek.mf:

jar cfm grafika.jar dodatek.mf *.class

okna paski przyciski listy

Pamiętajmy, aby zawsze najpierw podawać nazwę pliku JAR, potem nazwę pliku z dołączonymi do archiwum właściwościami, a na końcu pliki, które chcemy skompresować. Gdy plik grafika.jar zostanie utworzony, możemy go rozpakować i odczytać zawartość pliku manifest.mf. Aby rozpakować plik JAR, należy użyć opcji -xf:

jar xf grafika.jar

Gdy otworzymy plik manifest.mf, powinniśmy zobaczyć następującą zawartość:

Manifest-Version: 1.0

Created-By: 1.4.2_03 (Sun Microsystems Inc.)

Main-Class: Grafika

Jak widać, informacja została dołączona do głównej sekcji pliku manifest.mf. Teraz wystarczy kliknąć dwukrotnie myszą ikonę pliku grafika.jar, aby nasza aplikacja uruchomiła się automatycznie.

Tworzenie dokumentacji

Do szybkiego sporządzania dokumentacji do programu napisanego w Javie służy specjalny program narzędziowy javadoc, który tworzy dokumentację na podstawie plików źródłowych aplikacji, czyli plików z rozszerzeniem .java. Dokumentacja może obejmować cały program, bez względu na to, czy aplikacja składa się tylko z jednego pliku, czy też z kilku pakietów. Oczywiście dokumentację można również sporządzić tylko dla określonej klasy lub pakietu.

W wyniku pracy programu javadoc powstaje wiele plików .html, z głównym plikiem index.html. Po otwarciu tego pliku możemy przeglądać całą dokumentację. Aby skorzystać z narzędzia javadoc, trzeba wcześniej odpowiednio przygotować pliki źródłowe. Informacje przeznaczone do programu javadoc powinny zostać oznaczone jako komentarze za pomocą znaków /** i */. Informacje opisujące daną klasę powinny znajdować się tuż przed jej implementacją:

/** Klasa tworzy główne okno programu.

...

*/

public class Okno extends JFrame {

...

}

Podobnie tekst opisujący zmienną powinien znajdować się przed jej deklaracją:

/** Zmienna jest łańcuchem znakowym.

Jej domyślną wartością jest pusty łańcuch znakowy.

*/

private String napis = "";

Także opis metody powinien znajdować się tuż przed jej implementacją:

/** Metoda nadaje kolor tła panelowi okna.

Pobiera dwa parametry.

...

*/

void kolor_tla(JMenuItem punkt, final Color kolo) {

...

}

Oprócz zwykłego tekstu, wewnątrz komentarza mogą znajdować się też różne znaczniki. Wyróżnia się dwa rodzaje znaczników: blokowe i wewnątrzliniowe. Pierwszy rodzaj znacznika zawsze jest poprzedzony znakiem @ i rozpoczyna się koniecznie od nowej linii. Jednym z takich znaczników jest @author, po którym możemy wpisać imię i nazwisko autora danej klasy lub metody. Inny znacznik tego typu to @version określający wersję programu. Jeśli trzeba zamieścić odnośniki do pozostałych klas źródłowych, możemy zastosować znacznik @see, po którym podajemy nazwę klasy lub nazwę klasy poprzedzoną nazwą pakietu i kropką. Oczywiście można zamieścić również odnośnik do konkretnej metody lub zmiennej klasy. W tym wypadku po nazwie klasy trzeba umieścić znak # i podać nazwę metody lub zmiennej, do której chcemy się odwołać. Istnieje także znacznik @since, po którym możemy podać wersję programu, w której dana zmienna, metoda czy klasa została wprowadzona.

/** Klasa ta tworzy okno programu.

@author Dorota Trajkowska

@version 1.0

@see Grafika

@see paski.Pasek

@see listy.Lista

@see przyciski.Przycisk

*/

public class Okno extends JFrame {

...

}

Oprócz powyższych znaczników ogólnych, są także znaczniki, które pozwalają przedstawić szczegóły implementacji. Jednym z nich jest @param, który zastosowany w komentarzu tuż przed metodą opisuje argument pobierany przez nią. Zaraz za nim należy podać nazwę zmiennej będącej parametrem. Podobnie za pomocą znacznika @return określamy typ wartości zwracanej przez metodę.

/** Metoda ta nadaje kolor tła dla panelu okna.

Pobiera dwa parametry.

@param punkt jest obiektem typu JMenuItem.

@param kolo jest obiektem typu Color.

*/

void kolor_tla(JMenuItem punkt, final Color kolo) {

...

}


Zobacz również