Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

Podobne dokumenty
Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie obiektowe

Ćwiczenie 1. Przygotowanie środowiska JAVA

Kurs programowania. Wykład 6. Wojciech Macyna. 7 kwietnia 2016

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Programowanie graficznego interfejsu użytkownika. Wykład 8. Maciej Wołoszyn 10 maja 2006

Programowanie komputerów Wykład 6: Aplety Java

Grafika i komunikacja człowiek komputer Laboratorium. Część 2: Graphics

Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Podstawy Programowania

Tworzenie i obsługa graficznego interfejsu uŝytkownika

Java jako język programowania

Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security

Bezpieczne uruchamianie apletów wg

Podstawy programowania GUI niskiego poziomu. APLETY.

Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy. Tworzenie łącz w apletach

Spis treści. 1 Java T M

Programowanie obiektowe

Grafika i komunikacja człowiek komputer Laboratorium. Część 1: Wstęp do grafiki

Operatory. Składnia. Typy proste. Znaki specjalne

WPROWADZENIE DO JĘZYKA JAVA

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Wykład 4_1. Interaktywne aplety obsługa zdarzeń, uruchamianie apletu przez przeglądarkę lub maszynę wirtualną Javy.

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

Programowanie w Internecie. Java

WPROWADZENIE DO JĘZYKA JAVA

Wykład 1: Wprowadzenie do technologii Java

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

1 Atrybuty i metody klasowe

Java niezbędnik programisty spotkanie nr 12. Graficzny interfejs użytkownika

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Multimedia JAVA. Historia

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Wykład 4: Klasy i Metody

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Wykład 11: Programowanie Apletów

Applety Java. Applety są przykładem kodu Java wykonywanego po stronie klienta, ale bez ujawnionej (jak w przypadku skryptu) wersji źródłowej

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

Języki i metody programowania Java. Wykład 2 (część 2)

Języki i metody programowania Java Lab2 podejście obiektowe

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Wstęp do programowania w języku Java

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 2

Programowanie Multimediów JAVA. wprowadzenie do programowania (2/3) [1]

KLASY, INTERFEJSY, ITP

Podstawy, środowisko JDK, kompilacja programów z linii poleceń

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Tworzenie elementów graficznych

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Instalacja Czytnika Kart w systemie Windows 7

Interfejsy w Java. Przetwarzanie równoległe. Wątki.

Język Java część 2 (przykładowa aplikacja)

Wprowadzenie do języka Java

Projektowanie obiektowe. Roman Simiński Polimorfizm

Aplikacje w środowisku Java

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Java jako zdalny interfejs aplikacji Webowych aplety

Laboratorium Programowania Kart Elektronicznych

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Rozkłady zajęć- notatki

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Wykład 2: Podstawy Języka

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

Wstęp do programowania w języku Java

Wybrane działy Informatyki Stosowanej

Programowanie - instrukcje sterujące

Grafika i komunikacja człowiek komputer Laboratorium. Część 3: Tekst, czcionki, kolory

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Wstęp do programowania w języku Java

Język Java część 2 (przykładowa aplikacja)

Rysowanie prostych obiektów graficznych przy użyciu biblioteki AWT (Abstract Window Toolkit)

Programowanie w Javie

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Wykład 7: Pakiety i Interfejsy

Podstawy Programowania 2

Aplikacja npodpis do obsługi certyfikatu

Podstawy programowania obiektowego

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Aplikacje RMI

Aplikacja do podpisu cyfrowego npodpis

Programowanie obiektowe i zdarzeniowe

Rozdział 4 KLASY, OBIEKTY, METODY

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Transkrypt:

Spis treści 1 Aplet 1 2 Od aplikacji do apletu 1 3 Budowa apletu 3 4 Cykl życia apletu 4 5 Aplet jako aplikacja 5 Temat: Aplety. Celem wykładu jest zdefiniowanie sieciowej aplikacji Java T M, zwanej apletem i opis budowy apletu. Aplet można połączyć z "main". Taki program może działać jako aplet na stronie WWW i samodzielnie jako aplikacja. 1 Aplet Aplet jest nazwą zapożyczoną z języka angielskiego. Jest to rodzaj programu napisanego w Java T M i wykonywanego na stronie WWW w przeglądarce sieciowej, takiej jak InternetExplorer lub Netscape. Ze względu na specyfikę srodowiska, w którym działa aplet, jego struktura różni sie znacznie od struktury samodzielnej aplikacjii Java T M. Zazwyczaj, kilka metod kontroluje zachowanie apletu. Prócz tego należy go osadzić w środowisku graficznym przeglądarki. Służą do tego specjalne znaczniki języka opisu strony HTML. 2 Od aplikacji do apletu Zamienimy pierwszy program z poprzedniego wykładu na aplet. Wygląda on nastepujaco. / Fizyka komputerowa, IV, 2001. Java T M. Program #1. A. Baran, IFiz UMCS, 2000. http:tytan/umcs.lublin.pl/baran / 1

import java.applet.applet; import java.awt.graphics; import java.awt.color; public class ProstyApplet extends Applet{ String text; public void init() { text = "Prosty aplet"; setbackground(color.cyan); public void start() { System.out.println("start..."); public void stop() { System.out.println("stop..."); public void destroy() { System.out.println("zakończ..."); public void paint(graphics g){ System.out.println(""); g.setcolor(color.blue); g.drawrect(0, 0, getsize().width -1, getsize().height -1); g.setcolor(color.red); g.drawstring(text, 15, 25); Klasa ProstyApplet jest klasą publiczną. Przeglądarka lub appletviewer może go uruchomic. Aby to zrobić osadzimy aplet w środowisku WWW. W tym celu utworzymy plik ProstyApplet.htm lub ProstyApplet.html dla przeglądarki sieciowej i wpiszemy w nim następujący tekst <HTML> <BODY> <APPLET CODE=ProstyApplet.class WIDTH=200 HEIGHT=100> </APPLET> </BODY> </HTML> 2

Po kompilacji programu ProstyApplet.java: javac ProstyApplet.java uruchomiamy przeglądarkę InternetExplorer lub Netscape na pliku ProstyApplet.htm. Zobaczymy coś takiego co przedstawia rysunek niżej. Prosty aplet w przeglądarce Możemy zrobić to inaczej, uruchamiając program appletviewer - program do przeglądania appletów: appletviewer ProstyApplet.htm W tym drugim przypadku, na ekranie zobaczymy okno Prosty aplet w oknie systemu WINDOWS Wynik ten jest inny od apletu oglądanego w przeglądarce WWW, ale własnie o to chodzi. W przeglądarce widzimy tylko samą grafikę apletu, natomiast w środowisku WINDOWS, aplet jest w oknie podobnym do innych, posiada menu Applet, z którego można nim sterować oraz typowe przyciski kasujące, opuszczające i powiększające okno. Wymiary grafiki apletu są w obu przypadkach jednakowe (u nas 200px X 100px). W środowisku WWW apletem steruje przeglądarka, w środowisku WINDOWS - system operacyjny komputera wraz z JVM. Uwaga! Jeśli przeglądarka nie obsługuje apletów Java T M należy zainstalować tzw. wtyczkę Java T M (plug-in). Można ja pobrac ze strony. 3 Budowa apletu Aplet z przykładu różni się znacznie od aplikacji z poprzednich zajęć. Po pierwsze pojawiły się polecenia import java.applet.applet; import java.awt.graphics; import java.awt.color; Pozwalają one dołączyć do naszego programu istniejące już klasy z bibliotek Java T M. W tym przypadku importujemy klasy java.applet.applet, java.awt.graphics oraz java.awt.color. Pozwalają one wykonywać różne operacje graficzne na aplecie. Nasza klasa ProstyApplet pochodzi w prostej linii od klasy Applet. Wynika to z deklaracji extends, która oznacza, że nasza klasa rozszerza klasę Applet. W środowisku programowania obiektowego, a takim jest Java T M, oznacza to, że klasa ProstyApplet dziedziczy, a więc i posiada wszystkie te pola i metody, które posiada oryginalna, wzorcowa klasa Applet. Klasę ProstyApplet nazywamy potomkiem klasy Applet, która jest z kolei przodkiem naszej klasy. Ponieważ klasa Applet dziedziczy po klasach Object, Container i Panel, to klasa ProstyApplet jest również spadkobiercą wypisanych klas. Struktura klasowa programu jest następująca 3

Object +---> Container +---> Panel +---> Applet +---> ProstyApplet Klasa Object jest najstarszą w hierarchii klasą Java T M. Od niech wywodzą się wszystkie klasy wraz ze wszystkimi polami i metodami. W naszym przykladzie metody "deklarowane"w klasie ProstyApplet, a więc init, start, stop, destroy oraz metoda paint są również metodami klasy Applet. Te "deklaracjeńazywa się rozszerzaniem ((ang. overriding)). W tym sensie zamieniamy istniejące już metody nowymi metodami, które ćośżobią w odróżnieniu od wzorcowych metod klasy Applet. To rozszerzanie metod jest ważną i potrzebną cechą Java T M. Można w ten sposób korygować istniejące metody. Klasa Applet posiada metody init, start, stop, destroy oraz metoda paint. Sterują one pracą apletu. Metoda init inicjuje aplet, start - uruchamia go, stop - zatrzymuje, destroy - niszczy go, a metoda paint, której oryginał znajduje się w klasie Container, maluje aplet. Prócz tego mamy w klasie Applet metodę update, która go odświeża. 4 Cykl życia apletu Cykl życia apletu wygląda następująco. Środowisko programu appletviewer lub przeglądarka, zapoczątkowuje aplet - metoda init. Dalej wywoływana jest metoda start. Kiedy zmienimy stronę w przeglądarce wówczas aplet jest zatrzymywany metodą stop. W chwili powrotu na stronę z apletem, aplet startuje jeszcze raz (start) i następnie uruchamia się metoda paint. W momencie gdy przeglądarka jest zatrzymana, aplet jest niszczony metodą destroy. Wywołanie metody start jest początkiem życia apletu. Cały proces jest wątkiem, który dotyczy apletu. Po uruchomieniu, nasz aplet wypisze w oknie gdzie został uruchomiony komunikaty z metod start, paint,... Dostaniemy coś takiego: start... stop... start... 4

stop... zakoncz... Widzimy, że metoda paint uruchamiana jest najczęściej, co jakiś czas. Jest to więc proces, wątek, który wciąż działa. Nie jest to tak, że aplet raz namalowany pozostaje tym samym. Jest on wciąż odnawiany. Można to wykorzystać. Wątek związany z apletem jest jednym z możliwych wątków, które można utworzyć w Java T M. Pozwala to na symulacje zachowań dynamicznych różnych obiektów, np. na symulacje procesów. To jest nasz cel. Sprawdźmy to dodając do naszego apletu polecenie rysowania przypadkowego prostokąta. Prostokąt można namalować metodą fillrect(x0,y0,x1,y1 z klasy Graphics. Zauważmy, że zmienna g występująca w nagłówku metody paint jest właśnie egzemplarzem klasy Graphics. Wobec tego polecenie g.fillrect(...) namaluje rzeczony prostokąt. Jeszcze tylko musimy podać współrzędne jego wierzchołków: górnego-lewego (x0,y0) i dolnego-prawego (x1,y1). Ponieważ chcemy by były to położenia przypadkowe, użyjemy metody Math.random() by wygenerować te położenia. Należy przy tym pamiętać, że random() generuje liczby typu float. W procedurze fillrect(...) należy je skonwertowac do typu int. Wyglada to mniej więcej tak: int x0, y0, x1, y1;... inne polecenia... x0 = (int)(math.random(50)); y0 = (int)(math.random(50)) + 40; x1 = (int)(math.random(50)); y1 = (int)(math.random(50)) + 40; g.fillrect(x0,y0,x1,y1); Kiedy aplet znika, np. chowa sie pod innym oknem, a następnie pojawia się, zmienia się jego wygląd. Nie jest to jeszcze zbyt ciekawe, ale się poprawimy. Wszystko jeszcze przed nami. Chodzi nam tylko o to by zauważyć, że aplet żyje. 5 Aplet jako aplikacja Po niewielkich zmianach aplet może pracowac jako samodzielna aplikacja. Takie programy można uruchamiać zarówna na stronach WWW jak i z użyciem polecenia java bezpośrednio w systemie operacyjnym. / Fizyka komputerowa, IV, 2001. Java T M. Program #2. A. Baran, IFiz UMCS, 2000. 5

http:tytan/umcs.lublin.pl/baran / /* * Program samodzielny i applet w jednym. */ import java.awt.graphics; import java.awt.frame; import java.applet.applet; public class ApiApl extends Applet { public void init() { resize(200,60); public void paint(graphics g) { g.drawstring("witajcie...", 60, 30); public static void main(string[] args) { System.out.println("... w main"); ApiApl h = new ApiApl(); h.init(); Frame f = new Frame("Aplet i Aplikacja"); f.resize(200, 30); f.add("center", h); f.show(); Program działa teraz wszędzie. Można go dodatkowo zmodyfikować, dodając na początku dwie linie kodu w języku opisu strony HTML i opatrując je komentarzem Java T M. <APPLET CODE=ApiApl.class WIDTH=200 HEIGHT=60> </APPLET> Teraz możemy uruchomić program na trzy sposoby. Z a d a n i e 1. Jak to zrobić? 6