Programowanie obiektowe

1 Programowanie obiektoweAndrzej Ziółkowski Wykład 5 ...
Author: Sara Zmyślony
0 downloads 2 Views

1 Programowanie obiektoweAndrzej Ziółkowski Wykład 5

2 Aplikacje internetoweMiejsce działania programu – serwer, komputer użytkownika Instalowanie programów, dostępność Aktualizacje oprogramowania Bezpieczeństwo Bezstanowość

3 Programy internetowe HTML, CSS, XML, XHTMLJavaScript – komputer użytkownika CGI, Perl, C - serwer PHP - serwer Java applet – komputer użytkownika Java servlet - serwer ASP, ASP.NET, C# - serwer

4 Aplet – zasada działaniaAplet – program napisany w języku Java, uruchamiany ze stron WWW w przeglądarce. Przechowywany (po skompilowaniu) na serwerze razem ze stronami HTML Przesyłany razem ze stronami HTML na komputer użytkownika i tam uruchamiany Korzysta z wydzielonego obszaru (okna) na stronie HTML Tworzony jako klasa dziedzicząca po klasie Applet z pakietu java,applet lub javax.swing.JApplet. Odpowiedni obiekt tej klasy tworzy przeglądarka po załadowaniu strony HTML, gdzie aplet jest „osadzony”.

5 Osadzanie apletu na stronie HTML Cw2 Cw2 - Program rysujący:



Źródło: cw2.java

6 Parametry apletu code=”plik.class” width=”400” height=”300”codebase=”adres URL” archive=”plik.jar” name=”nazwa apletu” mayscript vspace=”10” hspace=”10” align=”left” alt=„”tekst wyświetlany gdy nie można uruchomić”

7 Przykładowy aplet import java applet.*;public class ProstyAplet extends Applet { public void paint(Graphics g) { g.drawText(20,10,”To ja ProstyAplet”); }

8 Najważniejsze składowe apletuimport java applet.*; public class NazwaApletu extends Applet { public void init() { // inicjacja apletu } public void start() { // wznowienie pracy public void stop() { // wstrzymanie pracy public void destroy() { // zamykanie okna przeglądarki public void paint(Graphics g) { // malowanie public void repaint() { // odświeżanie po zmianie wyglądu

9 Inicjacja apletu Obiekt apletu tworzy przeglądarka na podstawie danych ze strony HTML Metoda init() jest wywoływana tylko raz na początku działania apletu ale po utworzeniu obiektu i ustaleniu środowiska pracy. W konstruktorze dane potrzebne w aplecie mogą być jeszcze niedostępne i dlatego wprowadzono metodę init() wywoływaną później aby tam robić inicjację.

10 Wyświetlanie informacji w aplecieZa wygląd aplety odpowiedzialna jest metoda paint wywoływana gdy trzeba odmalować obszar lub część obszaru apletu Metoda paint powinna zawierać malowanie całego obszaru apletu Do malowania używamy metod z klasy Graphics np.: g.drawText(x,y,”tekst”); g.drawRect(x,y,w,h);

11 Tworzenie okien dialogowychZa pomocą apletu można tworzyć złożone programy z nowymi okami dialogowymi do wprowadzania danych. Dialog dlg1 = new Dialog(this); // … // budowanie dialogu // … dlg1.setVisible(true);

12 Pobieranie parametrów z HTMLWstawiając aplet w pliku HTML możemy podać dodatkowe parametry: W aplecie dostęp do parametrów zapewnia metoda getParameter: int par1; String s = getParameter(”par1”); if (s == null) par1 = 10; // wartość domyślna else par1 = Integer.parseInt(s); // podstawienie wartości

13 Pobieranie informacji z linii adresuW aplikacjach internetowych parametry miedzy kolejno wyświetlanymi stronami są często przekazywane jako uzupełnienie adresu URL np. Parametry te można pobrać wykorzystując metodę getDocumentBase() String s = getDocumentBase().ToString(); W polu s zostanie umieszczona cała linia adresu, z której można wyodrębnić potrzebne informacje.

14 Aplety i JavaScript Wymagany paramet apletu mayscript.Wykorzystujemy klasę JSObject: import netscape.javascript.*; jscript = JSObject.getWindow(this); Wywołanie funkcji JavaScript jscript.call(nazwaFunkcji,tablicaParametrów); Użycie JavaScript w aplecie jscript.eval(TekstKomendyJavaScript); Dostęp do metod apletu w JavaScript document.nazwaApletu.metodaApletu(…

15 Ograniczenia apletów Powód – bezpieczeństwoAplety nie mają dostępu do plików na komputerze użytkownika. Nie mogą uruchamiać programów na komputerze użytkownika. Mogą się komunikować jedynie z serwerem, z którego zostały pobrane. Wyjątki Aplety uruchamiane w appletviewer Aplety podpisane

16 Przykład apletu – wybór koloruStrona HTML Cw4a Cw4a - Wybieranie koloru:



17 Tworzenie apletu w NetBeans

18 Przykład apletu – wybór kolorupackage cw4; public class cw4 extends javax.swing.JApplet { /** Initializes the applet cw4 */ public void init() { try { java.awt.EventQueue.invokeAndWait(new Runnable() { public void run() { initComponents(); } }); } catch (Exception ex) { ex.printStackTrace();

19 Przykład apletu – wybór koloruprivate void niebieskiMouseMoved(java.awt.event.MouseEvent evt){ aktualny.setBackground(new java.awt.Color(0, 0, 255)); } private void niebieskiMouseClicked(java.awt.event.MouseEvent evt) { wybrany.setBackground(new java.awt.Color(0 , 0, 255 )); private void zielonyMouseMoved(java.awt.event.MouseEvent evt) { aktualny.setBackground(new java.awt.Color(0,255,0)); private void zielonyMouseClicked(java.awt.event.MouseEvent evt) { wybrany.setBackground(new java.awt.Color(0,255,0)); private void czerwonyMouseMoved(java.awt.event.MouseEvent evt) { aktualny.setBackground(new java.awt.Color(255,0,0)); private void czerwonyMouseClicked(java.awt.event.MouseEvent evt) { wybrany.setBackground(new java.awt.Color(255,0,0));