Applets [Kompatibilitätsmodus]

Werbung
Applets
Programmieren mit Java
Einführung in Applets
Yana Norina
Applets
Einführung
Yana Norina
Geschichte
Applets und Applikationen
Was ist ein Applets?
Die wichtigsten Methoden
Applets Programmierung
Beispiele
Fazit
2
Geschichte
Java- Applets waren Ende der 1990er Jahre ein
Hauptgrund für den Erfolg und die schnelle
Verbreitung von Java. (...)
Applets gibt es schon seit Java 1.0.
Leider auf diesem Level auch stehen
geblieben(liegt an Microsoft)
Applets können nicht auf allen System laufen
Yana Norina
3
Applets und Applikationen: Unterschiede
Applikationen eigenständige Programme
Die zu Ausführung den Stand –Alone –Java Interpreter benötigen
Applets aus HTML-Seiten heraus aufgerufen
sein können
Ausführung eines Web Browser benötigen
aus Sicherheitsgründen darf nicht auf Dateien des
Rechners zugegriffen werden.
Yana Norina
4
Applet
Applikationen
Hauptprogramm
stets aus der Klasse
Applet abgeleitet
Hauptprogramm
Gleichgültig woraus die
abgeleitet wird.
Starten:
Web-Browser die Applet
Klasse instanziiert und die
Methoden init() und
start()aufruft
Starten:
Von Java-Interpreter
Klassenmethode main()
aufgerufen wird
GraphicModus und
Ereignisorientiert
Yana Norina
Alle Ein-/Ausgaben
Textorientiert
5
Was ist ein Applet?
Applets sind kleine Java-Programme, die in einem
Webbrowser ablaufen.
Man benötigt dafür eine HTML-Datei, in die das Applet
eingebunden wird.
Der Applet-Viewer befindet sich im gleichen Verzeichnis
des JDK(Java Development Kit),wie die Java
selbst.
Zusätzliche Möglichkeiten in Benutzer-schnittstellenDesigns z.B. Ausgaben von Sounds.
Yana Norina
6
Was ist ein Applet?
Ist ein rechteckiges Bildschirm Elements, dass
eine Größe und Position hat
kann Ereignisse empfangen
kann Graphische Ausgaben vornehmen
Deklaration eines einfaches Applets durch:
Import java.applet.Applet;
Import java.awt.*;
Beispiel_1
Yana Norina
7
Was ist ein Applet?
Hauptprogramm eines Applets sind Ableitungen von
java.applte.Applet
Der wiederum von java.awt.Container
Container :
dient dazu Steuerelemente zu Fenstern oder
Dialogen zusammenzufassen.
erlaubt ein Layout zu definieren, (analog zu swing)
Yana Norina
8
Vererbung
Component
Container
Panel
Applet
Window
Dialog
Frame
java.lang.Object
java.awt.Component
java.awt.Container
java.applet.Applet
Yana Norina
9
Klasse java.applet.Applet
Kommunikation zwischen Applet und seinem
Browser läuft auf verschiedenen Ebenen ab:
bevor ein Applet aktiv werden kann, muss der
Browser ein Objekt der abgeleitete Applet-Klasse instanziieren:
Instanziieren
Initialisieren
starten stoppen
zerstören.
Yana Norina
10
Applet-Instanz
Nach dem Applet-Instanz erzeugt worden ist:
Public Applet().
Import java.applet.Appllet;
üblicherweise von Applet geerbt:
Public void init()…..
Public void start()…
Public void stop()…
Public void destroy()…
Die aus dem Applet abgeleitete Klasse, sorgt dafür diese
Methoden zu überlagern und mit erforderlichen
Funktionalität auszustatten.
Yana Norina
11
Applets
Lebenszyklus eines Applets
init():
start():
Startet des Applets kann mehrfach erfolgen
stop():
Wird zu Initialisierung genau 1x aufgerufen
Stoppt des Applets kann mehrfach erfolgen
destroy():
Yana Norina
Vorbereitung für das Zerstören 1x aufgerufen
Beispiel_2
12
Applets
Innerhalb von Methoden kann man :
init():
init
():
Member Variablen initialisiert
Images oder Fonts geladen
Parameter ausgewertet werden
start():
start
():
kann z.B. eine Animation starten
stop():
kann z.B. eine Animation anhalten
destroy():
destroy
():
kann z.B. einen Thread
(Programfaden) „zerstören“
Yana Norina
13
Applets
Die wichtigsten Methoden
Auf der Konsole sieht es so aus
Yana Norina
14
Fazit public void init()
Die Methode init() wird als erstes gestartet und
während des Lebensdauer eines Applets genau einmal
von Browser und Appletviewer aufgerufen.
Sie informiert das Applet, dass es in System geladen
wurde, und zwar alles, was beim Starten vorhanden sein
muss. z.B.: Parameter, Bilder, Musikdaten, graphische
Objekte (Checkboxen, Buttons usw.).
Voraussetzung, dass die Methode ausgeführt werden
kann, ist, dass das Applet zur Zeit nichts ausführt.
Yana Norina
15
Fazit public void start()
Wird immer vom Browser und Appletviewer aufgerufen,
wenn die Web-Page, die das Applet enthält, sichtbar
wird.
Teilt dem Applet dass es starten soll.
Beim ersten Mal nach der Ausführung der init()Methode und später jedesmal, wenn der User in diese
Web-Page zurückkehrt, wenn die Internet-Seite wieder
besucht wird.
Yana Norina
16
Fazit public void stop()
Wird stets vom Browser und Appletviewer aufgerufen,
wenn der User die Web-Page verlässt, wenn er auf eine
andere Web-Page geht oder wenn der Browser
geschlossen wird.
Teilt dem Applet mit, dass es anhalten soll (d.h. die
Ausführungen beenden)
Voraussetzung, dass das Applet gerade nichts macht.
Yana Norina
17
Fazit public void destroy()
wird nach der stop-Methode vom Browser oder vom
Appletviewer aufgerufen, wenn der Browser geschlossen
wird bzw. wenn die Seite verlassen wird.
informiert, dass es "zurückgefordert" wurde und dass es
alle Ressourcen (Speicher) freigeben ("zerstören") soll.
Sie wird als letztes, bzw. nach der Methode stop()
aufgerufen.
Voraussetzung ist, dass das Applet zur Zeit nichts
ausführt.
Yana Norina
18
Wichtigen Methoden
public void paint
paint(Graphics
(Graphics g):
Zeichen Methode für Anzeigefunktionen oder
Graphische Objekte des Applet
Duch den Aufruf von paint() fordert das Applet auf,
sich auf dem Bildschirm darzustellen.
Wird Aufgerufen :
wenn das Browserfenster verdeckt war und dann
wieder neu gezeichnet werden muss.
Beispiel_3
Yana Norina
19
Graphische Elemente
Graphik -Instanz
Methode paint()
drawRect()//von
e.Pixel Maßen Darstellt
drawOval()drawLine() usw.
fiilOval()
Mit Hilfe setColor(Color.Name);
this.setBackground(Color.Name);
Yana Norina
20
Das Einbinden eines Applets
Ein Applet-Tag wird wie ein normaler Text in die
Browser-Ausgabe eingebunden:
Mit <APPLET> eingeleitet und durch </APPLET> beendet
Platzreservierung durch Belegung <WIDTH> und <HEIGTH>
Die Größe und Anordnung des Applets:
WIDTH und HEIGTH
CODE der wichtigste Parameter
PARAM gibt den Namen der Applets Klasse an.
zur Parameterübergabe
Yana Norina
21
CODE zu Beachten
Der Klassenname sollte inklusive der Extension
.class angegeben werden.
Groß- und Kleinschreibung müssen eingehalten
werden.
Die Klassendatei muss im aktuellen bzw.
angegebenen Verzeichnis zu finden sein.
Yana Norina
22
Das Einbinden eines Applets
CODE
Verzeichnis, in dem die ".class"Dateien gesucht werden (beliebige
URL<Uniform Resource Identifiern >)
ALIGN
HSPACE
VSPACE
Ausrichtung des Fensters (z.B. left
oder rigth)
Rand rechts und links vom Applet
Rand über und unter dem Applet
Beispiel_4
Yana Norina
23
Bilder Laden
GetImage():
Bekommt
URL und den Namen des Bildes, die uns
Image-Instanz zurück gibt.
image = getImage(this.getCodeBase(), "bild1.jpg");
Methode drawImage()der Graphic-Instanz
innerhalb von pait(), dies ausgeben:
g.drawImage(image, 20, 20, io);
Beispiel_5
Yana Norina
24
CODEBASE
Verzeichnis in dem sich das Applet befindet.
Der Syntax entspricht dabei der normalen HTMLVerzeichnis-Definition.
Ein Register, auf das Applet externe Ressource erwartet
Wichtig:
Es müssen, die Angaben auf das Host (ein Computer,
der in Internet Datenbanken zu Verfügung stellt)
verwiesen , von dem das Applet geladen worden ist.
Beispiel_7
Yana Norina
25
HTML
<APPLET>:
CODE
notwendig
WIDTH
notwendig
HEIGHT notwendig
-Dateiname
-Breite & -Weite :
Sind Notwendig
<PARAM>:
NAME
VALUE
notwendig
notwendig
Ein Applet wird in eine HTML-Datei mit <Applet> und </Applet>
angebunden.
Wenn ein Parameterwert übergeben wird wird mit <PARAM> definiert:
Yana Norina
26
Parameter Übergabe
Jedes <PAPAM> besitzt:
des Parameter notwendig
value (Geltung) des Parameter notwendig
name
Zum Beispiel:
<param name="redwidth" value=10>
<param name="url"
value="http://tutego.com/index.html">
Beispiel_9
Yana Norina
27
Parameter Übergabe
Das Applet nimmt
den Parameter an Und prüft den Gültigen Aufbau der URL
über eine MalformedURLException .
Yana Norina
28
public String getParameter(String name)
Gibt den Wert(value) des genannten Parameters in
HTML-Tag zurück. Z.B.:
< param name =color value=“blue“>
Parameterwerte sind als String eingelesen, auch wenn
eine Zahl eingegeben wurde.
Parameter:
Rückgabe:
Yana Norina
name - der Parametername
Wert des Parameters
29
showDocument
erlaubt das Laden eines anderen HTMLDokumentes.
Eine andere Webseite zu laden.
Steht in zwei unterschiedlichen Varianten zu
verfügung
public
void showDocument(URL url)
public void showDocument(URL url, String
name)
Ersetzt
Yana Norina
der Inhalt der Seite durch eine neue Seite
30
Die Klasse URL
URL(Uniform Ressource Locator)
Universelles Hilfsmittel von Internetadressen,
der beim Aufrufen des Links angesprungen wird:
Um
eine Webseite aufzurufen
Eine Datei zu laden
Elektronische Post zu senden
Beispiel_5/ 6/ 7
Yana Norina
31
Elemente des Benutzer-Interface
Buttons(java.awt.Button)
Labels(java.awt.Label)
Textfelder:
(java.awt.TextField)
(java.awt.TextArea)
List(java.awt.List)
Beispiel_8
Yana Norina
32
Buttons(java.awt.Button)
Button Klasse erzeugt eine Schaltfläche, mit
einen Hinweistext:
die ein User anklicken kann
Per Tastendrück
Einen Befehl ausführen kann
Wird ein Action-Event geworfen, das ActionListener -Instanzen behandelt werden kann
Yana Norina
33
(java.awt.TextField)&(java.awt.TextAria)
Eingaben von Texten innerhalb eines Applets:
(java.awt.TextField)
einzeilige Eingabe
(java.awt.TextAria)
mehrzeilige Eingabe
Beispiel_8
Yana Norina
34
Fazit
Kleine Programms die innerhalb von:
Applet-Viewer
oder Applet Browser angezeigt werden
Über Netzwerke verteilt
Applets sind nicht gleich Applets
ein lokal geladenen Applet
(darf alle lokale Applikationen)
ein über Netzwerk geladenen Applet..
aus Sicherheitsgründen darf nur wenige Dinge:
Yana Norina
35
Was ein Applet darf:
Keine Dateien von lokalen Rechner
öffnen
kein Programm starten
lesen
ändern
speichern
Dateien auf die per URL-Instanz zugegriffen worden ist,
können dagegen geöffnet und gelesen werden
Yana Norina
36
Was ein Applet darf:
Keine anderen Libraries (eigene Packages) nachladen.
Lediglich
die Bibliotheken des java.*;
Keine Netzwerkverbindungen aufbauen
Ausnahme:
Netzverbindungen zu dem Host, von dem
das Applet geladen worden ist.
Darf nur bestimmte System-Properties auslesen
Yana Norina
37
Applets
Werden statt einer main() Funktion gestartet, sondern
müssen aus einer der Klasse Applet abgeleitet werden..
Zum Starten des Programms erzeugt der Browser eine
Instanz der abgeleiteten Klasse und ruft automatische
nacheinander eine Reihe vordefinierter CallbackMethoden auf .
Callback-Methoden sind Methoden, die von der
abgeleiteten Klasse zur Verfügung gestellt und vom
Browser oder AppletViewer aufgerufen werden.
Beispiel_10
Yana Norina
38
Applet über den Browser
Eine HTML-Seite anlegen und in dieser ein
Applet-Tag einfügen
!!Wichtig:
Applet
Klasse und HTML-Dateien liegen in der Regel
im gleichen Verzeichnis
Nachteil:
Browser
Cache Java-Applets, die Kopien zwischen
speichern..d.h..nach jedem Kompilieren löschen
müssen
Lösung: Applet-Viewer
Yana Norina
39
Applet per Applet-Viewer
Es ist ein kleines Kommandozeilen-Tool.
Aufruf gestaltet sich einfach durch:
Appletviewer <URL>
Der Platzhalter <URL> ist dabei durch den URL zur
HTML-Datei, die das <Applet>-Tag deklariert, zu
ersetzen.
URL kann auf das lokale Datensystem oder eine
Ressource im Internet verweisen.
Yana Norina
40
Applets
Quellen
http://service.phil-fak.uni-desseldorf.de/tutorial/java
http://wiki.zum.de/Java/Applet
„Einführung in Java“ / Skript / Pernards/Klinker
„Java ist auch ein Insel“ / C. Ullenboom
„Handbuch der Java-Programmierung“ / G. Krüger
„Java 6 Einstieg für Anspruchsvolle „ / K. Samaschke
Yana Norina
41
Herunterladen