Lektion 5: Applets Übersicht Lektion 5

Werbung
Lektion 5: Applets
Helmar Burkhart
Informatik
Universität Basel
[email protected]
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-0
Übersicht Lektion 5
• Was ist ein Applet ?
• Applets in Swing
• Applets unter HTML
• Applet-Lebenszyklus
• Applet-Programmierung
• Browser und appletviewer
• Beispiele
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-1
Was ist ein Applet ?
• Ein Applet ist eine "Mini-Anwendung", die dynamisch
vom Internet geladen werden kann.
• Technisch gesprochen: Applets sind mobiler Code, der
erst auf Anforderung von einem Server-Rechner geladen
wird und vom javafähigen Webbrowser auf der
Arbeitsstation ausgeführt wird.
• Anwendungen sind eigenständige Programme mit voller
Funktionalität. Werden vom Betriebssystem aus
aufgerufen.
• Applets haben aus sicherheitstechnischen Aspekten
eingeschränkte Funktionalität.
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-2
Java Bytecode
Die Java Virtual Machine führt den Bytecode aus. Intern
wird einem Keller z.B. für Berechnungen gearbeitet.
class ByteCode{
static double multiply(byte a, short b, int c,
double d){
return a * b * c * d;
}
public static void main (String[]args){...}
Die Bytecodedatei ByteCode.class kann
mittels javap „lesbar“ dargestellt werden.
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-3
Applets in Swing Hierarchie
Component
Gleiche Abstammung:
Man kann die
Dialogkomponenten
gleichermassen laden
(add)!
Container
Window
Panel
Frame
Applet
JFrame
JApplet
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-4
HTML und Applets
Applets werden von einer HTML Seite aus geladen.
<BODY>
<APPLET CODE="class-file Name"
WIDTH=breite HEIGHT= hoehe>
<APPLET>
Weitere Elemente:
Institut für Informatik
Universität Basel
CODEBASE, ARCHIVE,ALT,
NAME, PARAM,...
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-5
Lebenszyklus eines Applets
Der Lebenszyklus eines Applets umfasst folgende Phasen:
• Erzeugen
• Initialisieren: init()
beim Laden der Seite
• Starten
start()
beim Sichtbarwerden
• Zeichnen
paint(), update()
• Stoppen
stop()
beim nicht Sichtbarwerden
• Löschen
destroy()
beim nicht mehr benötigen
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-6
Umwandeln in Applet
Ein Anwenderprogramm, das die sicherheitsrelevanten Aspekte
nicht verletzt, kann zielgerichtet umgewandelt werden:
• Erstellen einer HTML-Seite mit dem Applet-Tag.
• main()-Methode eliminieren, da Rahmen und
Grössenangabe im HTML Teil erfolgen.
• Statt von JFrame wird von JApplet ererbt. Klasse muss
öffentlich sein.
• setSize() , addWindowListener(),
setTitle() gegebenfalls entfernen.
• Der Konstruktor wird durch init() ersetzt.
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-7
Taschenrechner als Applet
public class CalcApplet extends JApplet
implements ActionListener{
public void init(){
contentPane = getContentPane();
....
<HTML>
<HEAD> <TITLE> Taschenrechner</TITLE> </HEAD>
<BODY> <APPLET CODE="CalcApplet.class" WIDTH=300 HEIGHT=200>
</APPLET>
</BODY>
</HTML>
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-8
Applets und Browserabhängigkeiten
• Da nicht alle Browser immer auf dem neuesten Stand der
Java-Implementierung sind, kann es Probleme wie etwa
bei der Verwendung von Swing geben.
• appletviewer ist ein Programm, das zur SDK
Umgebung gehört und mit dem entsprechende Applets
getestet werden können.
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-9
Applet-Beispiele
Applet-Beispiele (teilweise mit Quellcode) finden sich
• in der SDK Dokumentation,
sowie auf dem Internet:
• java.sun.com/applets/index.html
• gamelan.earthweb.com/
• www.ericharshbarger.org/java/
• ....
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
5-10
Programme Lektion 5
Java Bytecode
Taschenrechner als Applet 1
Taschenrechner als Applet 2
Institut für Informatik
Universität Basel
EINFÜHRUNG IN DIE INFORMATIK II
Lektion 5: Applets
(5-3)
(5-8)
5-11
Herunterladen