Applets

Werbung
Applets
Einführung in die
Appletprogrammierung
Vortrag - Kenny Schlör
Applets und Applikation:
Die Unterschiede
 Es gibt zwei unterschiedliche Möglichkeiten ,Java-Programme
laufen zu lassen,und zwar
– entweder als ein selbständiges Programm(Applikation)
• dieses wird mit einem Java-Intepreten ausgefürt
– oder von einem WWW-Browser aus (ein sogenanntes Applet)
• z.B. durch:Netscape Navigator, Microsoft Internet Explorer
und Suns HotJava.Zusätzlich können Applets mit dem
Applet-Viewer,der im JDK enthalten ist, angezeigt werden.
 Um ein Applet auszuführen , muß es in eine Webseite eingefügt
werden. Dies geschieht mit Hilfe von HTML-Tags.
Vortrag - Kenny Schlör
Applets und Applikation:
Die Unterschiede
 Durch die Verbindung zum Internet mittels Applet-Programmierung
hat sich Java sehr stark durchsetzten
 Es ist möglich das ein einziges Programm Applikation und Applet
zugleich beinhaltet.Die Vorgehensweise zum erstellen von Applets und
Applikations stehen nicht im Konflikt zueinander.Es werden jeweils
die Merkmale des anderen ignoriert.
Vortrag - Kenny Schlör
Sicherheit von Applets
 Es gelten folgende Vereinbarungen bei Netscape und dem
Microsoft
Internet Explorer
 Es gibt aus Sicherheitsgründen Applets-Einschränkungen
– Es ist nicht möglich ,daß Applets im Dateisystem des Benutzers
lesen und schreiben.
– Applets können nur mit dem Internet-Server kommunizieren, von
dem die Webseite stammt,die das Applet enthält.
– Applets können keine Programme auf dem System des Benutzters
ausführen.
– Applets können keine Programme auf der lokalen Plattform laden ,
einschließlich gemeinsam genutzter Bibliotheken wie DLLs.
Vortrag - Kenny Schlör
Sicherheit von Applets
 Bei anderen Browser gibt es flexiblere Vereinbarung in Bezug auf
Sicherheit durch eigene Konfiguration.
 100% Sicherheit kann nicht garantiert werden . Genauere Infos findet
man unter dem Begriff „hostile applets“ im Internet.
Vortrag - Kenny Schlör
Die Klasse Applet
 Beim Erstellen eines Applets werden an verschiedenen Punkten der
Ausführung einige Methoden verwendet.Im Vergeich zu einer
Applikation ,die für eine Initialisierung die „main-Methode“ zum
aufruf verwendet.
 Alle Applets habe als Superklassen die Klasse „Applet“ aus dem
Package „java.Applet“.
import java.awt.*;
//stellt die Graphische Oberfläche
import java.applet.*;
//stellt die Methoden von Applet
public class yourApplet extends Applet
{
// Code des Applet
}
 Jede Applethauptklasse muß als public declariert werden,da die Klasse
Applet selbst public ist.
Vortrag - Kenny Schlör
Die Methoden der Klasse Applet:
init,destroy
 Initialisieren: init () sie tritt auf ,wenn ein Applet geladen wird.Sie
umfaßt das Erzeugen von Objekten, Laden von Bildern und Schriften
und Setzten von Parameters.Die Methode ist vergleichbar mit einem
Konstruktor .
public void init ()
{
//Code der Methode
}
 Destroy: destroy() das Applet kann hinter sich aufräumen, bevor der
Browser beendet wird,z.B. um andere laufende Objekte
freizugeben.Im allgemeinen braucht destroy() nicht überschrieben
werden, sofern Ressourcen nicht freigegeben werden müssen.Die
Methode finalize() ist für Apples nicht gebrauchbar.
public void destroy ()
{
Vortrag - Kenny
//Code
der Schlör
Methode
}
Die Methoden der Klasse Applet:
Starten und Stoppen
 Starten und Stoppen: start(); stop() Das Starten unterscheidet sich
vom Initialisieren,denn während seines Lebenszyklus kann ein Applet
mehrmals gestartet werden,während eine Initialisierung nur einmal
stattfindet.
Beispiel:Das Applet gestoppt durch das Benutzen eines Links zu
einer anderen Seite, beim erneuten Aufruf der Seite wird das Applet
vom neuen gestartet.
public void start/stop ()
{
//Code der Methode
}
Vortrag - Kenny Schlör
Schreiben einer Webseite und Anwenden des
Appletviewer
 Um unser Programm ablaufen zu lasse, müssen wir eine Webseite
erstellen in der das Applet eingebettet wird.Mit Hilfe eines Editors
erzeugen wir uns eine Datei.html
– Beispiel:
<HTML>
<HEAD>
<TITLE>Simple Web Page</TITLE>
</HEAD>
<APPLET CODE=“Simple.class“ width=300 heigth=200 >
</APPLET>
</HTML>
Vortrag - Kenny Schlör
HTML-Tags &Appletviewer
–
–
–
–
HTML-Tagst
<TITLE> und </TITLE> ist beliebig wählbar und steht im Kopf der
Webseite.
Das Wort <APPLET> gibt die Sendung eines Applet an den Browser an
(und die Beschreibung endet mit</APPLET>).
Das Wort CODE gibt den Namen der Datei an(wie im
Beispiel:Simple.class) .
Die Wörter width (Breite) und heigth(Höhe) geben die Größe des
Appletsfensters an. Gemessen wird in Pixel.
 Der Appletviewer ist ein Werkzeug zum Testen von Applet. Er ist eine
alternative zu den Browsers.
– appletviewer Simple.html
Vortrag - Kenny Schlör
Beispiel:
import
import
public
{
public
{
java.awt.*;
java.applet.*;
class AppuAppl extends Applet
void paint(Graphics g)
g.drawString("Das ist das Applet", 100,200);
}
public static void main (String [] args)
{
Applikation r = new Applikation();
f.setSize(600,400);
f.show();
}
}
Vortrag - Kenny Schlör
class Applikation extends Frame
{
public void paint(Graphics g)
{
g.drawString("Das ist die Applikation", 100,200);
}
}
Vortrag - Kenny Schlör
Info-Methoden der Klasse Applet
 Die Methode getAppletInfo() ist eine Möglichkeit Informationen über
das Applet zur Verfügung zu stellen . Der Appletviewer ruft die Info
auf .
 Eine zweite Methode getParameterInfo() der Appletklasse wird
benutzt, um Informationen über die Aufrufparameter auszugeben. Die
Methode liefert ein mehrdimensonales Feld von Strings.
Beispiel:
public String getAppletInfo()
{
return “Name .....\r\n “+“ Autor:....“;
}
public String [ ] [ ] getParameterInfo()
{
{Name_PARAM1,“Typ“,“Bedeutung“},...{Name_PARAM2, ... }
};
Vortrag - Kenny Schlör
return info;
Parmeterübergaben
 Beispiel:
<APPLET CODE= “Bsp.class“ width=200 height=200>
<PARAM name=text value=“Text von der HTMLPAGE.“>
<PARAM name= zahl value=200 >
</APPLET>
 Es werden hier zwei Parameter übergeben.Dafür wird das Tag
<PARAM>verwendet. Mit Name wird der Parametername und mit
value sein übergebener Wert festgelegt.
 Bei Applets muß jeder Parameter explizit mittels
getParameter()ermittelt
und
einer
Variablen zugewiesen werden.
Vortrag
- Kenny
Schlör
Weiter zum Beispiel:
import java.applet.*;
import java.awt.*;
public class Bsp extends applet
{
private String m_text =“Hier erscheint Text.“;
private int _zahl =0;
private final String PARAM_text =“text“;
private final String PARAM_zahl=“zahl“;
//(1)
public void init()
{
Sting param;
param = getParameter(PARAM_text);
if (param!=null) m_text = param;
Vortrag - Kenny Schlör
// (2)
// (3)
// (4)
param = getParameter(PARAM_zahl);
if (param !=null)
m_zahl=Integer.parseInt(param);
}
public void paint (Graphics g)
{
g.drawString(m_text,10,20);
for (int i=0;i < m_zahl ;i++ )
{
int a =(int)(200.0 *Math.random());
int b =(int)(200.0 *Math.random());
int c =(int)(200.0 *Math.random());
int d =(int)(200.0 *Math.random());
g.drawLine( a, b, c, d);
}
}
}
Vortrag - Kenny Schlör
//(5)
Parameterübergabe
 (1): Die Parameter werden namentlich und nicht in einer bestimmten





Reihenfolge übergeben.Es wird eine konstante(final) Variable
definiert.Der Vorteil ist ,das getParameterInfo diese Variable benutzten
kann, um die Parameternamen auszugeben.
(2):Die Parameter werden als Zeichenkette übergeben,dafür wird eine
Hilfsvariable (param),zum Zwischenspeichern.Der Inhalt wird dann in
den jeweiligen Typ umgewandelt.
(3):Hier erfolgt die Parameterübergabe .Die Methode getParameter
benutzt ein Zeichenkettenargument PARAM_text um in der HTMLDatei die <PARAM> -Marke mit dem passenden Namen zu finden.
(4):Es muß nach null getestet werden , da überprüft werden muß op
das HTML-Dokument einen Wert festlegt.
(5):Bei true wird zugewiesen.
(6):Integer.parseInt(variable) wandelt einen Stirng in eine Ganzzahl
Vortrag - Kenny Schlör
um.
Ereignisse
 Appletts verarbeiten Ereignisse.Jedesmal wenn die Maus bewegt
wird,eine Taste gedrückt wird,das Applet verdeckt wird usw.. , wird ein
Objekt der Klasse Event erzeugt.Das Objekt wird durch seine Attribute
genauer beschrieben.Alle Attribute sind public
 Immer wenn ein Ereignis auftritt wird eine Methode von Applet
aufgerufen,die von Component geerbt wurde.Es ist die
handleEvent.
public boolean handleEvent(Event evt)
 Bei der Rückgabe wird bestimmt ob das Ereignis verarbeitet wurde.
Die Methode ist die Drehscheibe der Ereignisverarbeitung. Sie
überreicht das Objekt an spezielle Handler weiter.Die Handler sind alle
public und geben einen boolean-Wert zurück .
Vortrag - Kenny Schlör
Speziele Handler
 public boolean gotFocus(Event evt,Object what)





Erhalt des Eingabefokus
public boolean lostFocus(Event evt,Object what)
Verlust des Eingabefokus
public boolean mouseEnter(Event evt,int x,int y)
Maus tritt ins Applet ein.
public void mouseExit(Event evt,int x,int y)
Maus ist außerhalb des Applets
public boolean mouseDown(Event evt,int x,int y)
Maustaste wird gedrückt
public boolean mouseDrag(Event evt,int x,int y)
Maus wird gezogen
Vortrag - Kenny Schlör
Spezielle Handler
 public boolean mouseUp(Event evt,int x,int y)




Maus wurde losgelassen
public boolean mouseMove(Event evt,int x, int y)
Maus wird bewegt
keyDown(Event evt,int key)
Tastaturtaste wurde gedrückt
keyUp(Event evt,int key)
Tastaturtaste wurde losgelassen
action(Event evt,Object what)
fast alles andere
Vortrag - Kenny Schlör
import java.awt.*;
import java.applet.*;
public class Fokus extends Applet
{
private String m_text =“Anfang";
private int m_start=0;
private int m_stop=0;
private String msg=null;
public void paint (Graphics g)
{
g.drawString (m_text,100,100);
}
Vortrag - Kenny Schlör
public boolean gotFocus (Event evt ,Object what)
{
setBackground(Color.green);
m_text="Hallo!";
repaint();
return true;
}
public boolean lostFocus(Event evt,Object what)
{
setBackground(Color.yellow);
m_text="Tschau!";
repaint();
return true;
}
Vortrag - Kenny Schlör
}
Bemerkungen und andere
Methoden
 Egal ob das Applet den Fokus hat oder nicht ,jedesmal wenn der
Coursor über die Appletfläche läuft wird ein Ereignisobjekt übergeben.
 repaint()
repaint fordert eine Neuzeichnung über die paint-Methode
 repaint (int x, int y,int width int height)
Die Parameter von repaint geben den zu aktualisierenden Bereich an.
Vortrag - Kenny Schlör
Herunterladen