Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI
Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und Funktionsweise von Applets zu erklären Ein einfaches Applet zu programmieren Ein Applet in eine einfache HTML-Seite einzubinden Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-2
Eigenschaften von Applets HTML: eine kurze Übersicht Inhalt Die wichtigsten Methoden der Klasse Applet Sicherheitsaspekte Parameterübergabe HTML Applet Einbinden von Controls, AudioClips, Images Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-3
Applets Was ist ein (Java) Applet? Vor - und Nachteile im Vergleich zu "normalen" Applikationen? Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-4
Eigenschaften von Applets Applets sind auf einem Server gespeichert und werden über das Internet vom Browser heruntergeladen. Applets werden von einem Browser innerhalb einer HTML-Datei dargestellt. Es besteht eine dynamische Verbindung vom Browser zum Server. Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-5
Client und Server Client Server Web- Browser 3) 5) 1) 2) HTTP 4) 1) Browser fordert Webseite an Web- Server HTML- Datei und Java- Applet Java Applet 2) Server liefert Seite inkl. Java-Applet 3) Start des Java-Applets 4) Kommunikation mit dem Server-Rechner 5) dynamische Darstellung der Daten Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-6
Einige Merkmale Berner Fachhochschule Hypertext Markup Language (HTML) Textbasierte Auszeichnungssprache zur Strukturierung von Inhalten wie Texten, Bildern und Hyperlinks in Dokumenten HTML-Dokumente sind die Grundlage des World Wide Web und werden von einem Webbrowser dargestellt HTML wird vom World Wide Web Consortium (W3C) weiterentwickelt Die aktuelle Version von HTML ist 4. Version 5 ist in Entwicklung. Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-7
Grundgerüst einer HTML-Seite <!DOCTYPE html> <html> <head> <title>demo for Applet</title> </head> <body> <h1>demo-applet</h1> <!-- Comment bla bla bla --> <hr> </body> </html> Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-8
HTML Tags Einleitendes und abschliessendes Tag Format: <tag>text</tag> Beispiel: <h1>text</h1> Container <h1> : defines the most important heading <h6> : defines the least important heading. Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-9
HTML Tags (2) HTML Tags können Parameter haben: Format: <tag param1="value1" param2="value2">text</tag> <tag param1="value1" param2="value2" /> Beispiel: <applet code="demofuerapplet.class" width="200" height="180"> </applet> Browser sind fehlertolerant Alle HTML-Tags und ihre Attribute werden klein geschrieben Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-10
Mit dem <applet> Tag: Einbinden von Applets <applet code="myapplet.class" width="200" height="200"> Text wenn Java-Applets nicht unterstützt </applet> Die Parameter: code, width und height sind obligatorisch Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-11
Einbinden von Applets (2) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/xhtml11.dtd"> <html> </html> <head> <title>demo fuer Applet</title> </head> <body> <h1>demo-applet</h1> <hr> <applet code="demofuerapplet.class" width="200" height="180"> </applet> <hr> </body> Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-12
Einbinden von Applets (3) <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/xhtml11.dtd"> <html> <head> <title>demo fuer Applet</title> </head> <body> "Applet class" <h1>demo-applet</h1> <hr> </body> </html> <applet code = "modul.java.jws.demoapplet" archive = "DemoApplet.jar" width = "300" height = "300"> </applet> <hr> Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-13
(J)Applet-Klasse Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-14
Die wichtigsten Methoden der Applet-Klasse (1) Applet Beschreibung Methoden init() initialisiert alle GUI-Komponenten, welche zum Applet gehören, und startet alle Threads destroy() gibt Resourcen frei und beendet das Applet start() stösst jedes Mal, wenn das Applet von der Web-Seite aus wieder gestartet wird, Aktionen wie Animationen an. stop() unterbricht die Aktionen, die durch start angestoßen worden sind. DemoMethodenApplet Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-15
Die wichtigsten Methoden der Applet-Klasse (2) paint( Graphics g) Wird wie schon bei den Applikationen aufgerufen, wenn das Fenster neu gezeichnet werden muss. Als Parameter wird eine Referenz auf ein Graphics-Objekt übergeben Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-16
Applikationen dürfen alles Sicherheitsaspekte Bei Applets ist die Funktionalität aus Sicherheitsgründen eingeschränkt Sandkasten-Modell Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-17
Sicherheitsaspekte, Teil II Applet Lokales Entferntes Operation Java- Anwendung im Applet- Viewer Applet im Browser Applet im Browser Zugriff auf lokale Dateien Löschen lokaler Dateien Anderes Programm ausführen Eigenen Namen finden Mit Host neu verbinden Mit anderem Host verbinden Java-Bibliothek laden Exit aufrufen Pop-UP-Fenster erstellen Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-18
Parameterübergabe von der HTML-Seite zum Applet In der HTML-Seite: <applet code="myapplet.class".> <param name="param1" value="p1"> </applet> Im Applet: String value = getparameter("param1"); CurrencyConversion Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-19
Einbindung von Controls Die Einbindung der Controls erfolgt ähnlich wie bei den Applikationen: Erforderliche Panels und Layout-Manager werden in der init()-methode statt im Konstruktor definiert. Events werden durch Listener abgefangen Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-20
Einbindung von AudioClips AudioClips-Dateien werden zusammen mit dem HTML-File und dem Applet geladen Mögliche Methoden sind: play(), stop() und loop(). AudioClip name; name = getaudioclip(getcodebase(), dateiname); name.play(); Unterstützte Soundformate: AIFF, AU, WAV (nur unkomprimiert), MIDI (Type 0 und Type 1), RMF (http://www.beatnik.com) Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-21
Einbindung von Images 2 Varianten um Bilder zu laden: getimage() : Caching des Bildes createimage() : kein Caching Dateiformate: Unterstützt werden gif, jpeg und png Anzeige der Bilder: drawimage(image, x, y, ImageObserver) Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-22
Einbindung von Images (2) Beispiel: URL url = getclass().getresource("image.png"); Image map = gettoolkit().getimage(url); Unterstützte Bildformate: GIF, JPEG oder PNG Java-Applets V3.0 2011 by WBR1&MOU2/BFH-TI Folie 5-23