APPLETS Grundlagen der Programmierung

Werbung
Grundlagen der Programmierung
APPLETS
Inhalt dieser Einheit
Java-Applets:
• Java-Applets
– Vor- und Nachteile
– Sicherheitskonzepte
– Methoden
– Einbetten in HTML
• Graphical User Interface
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
2
Java Applets
• Applets laufen im Web-Browser.
• Vorteile:
– Keine Installation
– Sicherheit durch beschränkte Zugriffsrechte, etc.
• Nachteile
– Komplizierte Zugriffsregelungen
– längere Ladezeiten (alle Klassen müssen über
das Netz geladen werden).
• Java-Klasse Applet bzw. JApplet (aus dem
Paket javax.swing) >> siehe Java API
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
3
Sicherheitskonzept
‚Sandbox‘ (Java 1.0)
Java
Applikation
Java Applet
Java Virtual Machine
Sandbox
Betriebssystem
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
4
Sicherheitskonzept
Java 1.1
Java
Applikation
Java Applet
Java Applet
(signiert)
(unsigniert)
Java Virtual Machine
Sandbox
Betriebssystem
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
5
Sicherheitskonzept
Java 1.2
Applet oder lokale
Applikation
Java Policy
Permissions
A
Permissions
B
Permissions
C
Sandbox
Java Virtual Machine
Betriebssystem
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
6
Applets - Besonderheiten
• Ausführung von Applets
– in einem Java-fähigen Web-Browser
– Appletviewer (appletviewer
HelloApplet.java)
• Applets brauchen keine Main-Methode
• Alle Klassen eines Applets werden
meist in ein Archiv gepackt.
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
7
Appletaufruf
• Der Appletaufruf muss in eine HTML-Seite
eingebettet sein.
• Je nach Browser sieht der HTML-Code für
den Appletaufruf anders aus.
• Applets können lokal aufgerufen werden.
• Der Pfad des Class-Files (des Applets) muss
sich im CLASSPATH oder aktuellen
Verzeichnis befinden. Oft befindet es sich an
der selben Stelle, wie die aufrufende HTMLSeite.
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
8
Appletaufruf 2
Java Applets müssen in HTML-Code eingebettet
werden.
<HTML><HEAD><TITLE> A Simple Program</TITLE>
</HEAD><BODY>
Here is the output of my program:
<APPLET CODE="HelloWorld.class" WIDTH=150
HEIGHT=25></APPLET>
</BODY></HTML>
siehe auch http://java.sun.com/openstudio/guide.html
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
9
Methoden der Klasse
JApplet
• init()
Wird automatisch zur Initialisierung des Applet aufgerufen.
Diese Methode wird immer überschrieben.
• start ()
Wird aufgerufen, sobald das Applet im Browser sichtbar
wird, um alle normalen Operationen zu starten.
• stop()
Wird aufgerufen, sobald das Applet im Browser nicht mehr
sichtbar ist, um alle Operationen einzustellen und
Rechenleistung zu sparen.
• destroy()
Gibt nicht mehr benötigte Ressourcen frei, wenn das
Applet nicht mehr verwendet wird.
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
10
Java Applets
Das erste Applet (HelloApplet.java):
import javax.swing.*;
public class HelloApplet extends JApplet{
public void init() {
getContentPane().add(
new JLabel("Mein erstes Applet!"));
}
}
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
11
Graphik-Programmierung
• GUI: Graphical User Interface
– Buttons
– Check-Boxes
– Radio-Buttons
– Menü
– ...
• java.awt (abstract window toolkit)
• javax.swing
• Im Folgenden mit Java Applets gezeigt
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
12
Graphische Elemente
• Basis-Elemente:
(Components)
–
–
–
–
–
–
Buttons
Liste
Textfelder
Labels
Text
...
• Container verwalten mehrere Elemente
– Dialog, Frame, Applet
– ToolBar, Panel, ScrollPane
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
13
Swing-Klassen
•
•
•
•
•
•
JButton
JLabel
JTextField
JCheckBox
etc.
div. Methoden zur Manipulation:
– setBackGround(Color)
– setFont(Font)
– setSize(int, int)
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
14
Verwaltung der
Komponenten
• Die Klassen JApplet, JFrame, JWindow und
JDialog, erben u.a. von der Klasse Container.
Instanzen dieser Klassen können in einer
Container-Variablen verschiedene graphische
Elemente (z.B.: Menüs, Buttons, etc.) verwalten.
Container cp = getContentPane();
• Hinzufügen von Komponenten:
cp.add(newElement);
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
15
Neue Komponenten
• Labels als Instanzen der Klassen JLabel:
JLabel labelInfo =
new JLabel(“Text");
cp.add(labelInfo);
oder
cp.add(new JLabel(“Text"));
• Buttons als Instanzen der Klassen JButton:
JButton buttonOK = new JButton("OK");
cp.add(buttonOK);
oder
cp.add(new JButton("Cancel"));
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
16
Das Event Modell
• Alle Komponenten können ein Ereignis der
Klassen ActionEvent,
AdjustmentEvent, ... auslösen (z.B.
Klick, Enter, Scrollen, etc.).
• Es wird von “Listener” der Klassen
ActionListener,
AdjustmentListener, ... empfangen,
die dann entsprechend darauf reagieren
können.
Vgl. [Ecke00, 723f.]
Grundlagen der Programmierung – Applets © Guth, Kaukal, Klimesch 2000-2002
17
Herunterladen