Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie obiektowe

Podobne prezentacje


Prezentacja na temat: "Programowanie obiektowe"— Zapis prezentacji:

1 Programowanie obiektowe
Andrzej Ziółkowski Wykład 5

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

3 Programy internetowe HTML, CSS, XML, XHTML
JavaScript – 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łania
Aplet – 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
<head> <title>Cw2</title> <meta content="text/html; charset=windows-1250" http-equiv="Content-Type"> <link href="std1.css" type="text/css" rel="stylesheet"> </head> <body> Cw2 - Program rysujący:<br><br> <applet code="cw2/cw2.class" archive="cw2.jar" width="500" height="350"> </applet> <br><br> Źródło: <a href="cw2.java">cw2.java</a> </body> </html> <applet code= " aplet.class" width="500" height="350"> </applet>

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ć” <param name=”nazwa” value=”wartość”>

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 apletu
import 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 aplecie
Za 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 dialogowych
Za 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 HTML
Wstawiając aplet w pliku HTML możemy podać dodatkowe parametry: <applet code=”ap.class” width=400 height=300> <param name=par1 value=100> <param name=par2 value=”tekst”> </applet> 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 adresu
W 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ństwo
Aplety 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 koloru
Strona HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Cw4a</title> <meta content="text/html; charset=windows-1250" http-equiv="Content-Type"> <link href="std1.css" type="text/css" rel="stylesheet"> </head> <body> Cw4a - Wybieranie koloru:<br><br> <applet code="cw4/cw4.class" archive="cw4.jar" width="365" height="420"> </applet> <br><br> </body> </html>

17 Tworzenie apletu w NetBeans

18 Przykład apletu – wybór koloru
package 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 koloru
private 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));


Pobierz ppt "Programowanie obiektowe"

Podobne prezentacje


Reklamy Google