APPLET

Werbung
Applets
DVG1 - Applets
1
Die Klasse Applet




Applets sind Grafikobjekte, die unter Steuerung eines anderen
Programms (z.B. eines Browsers, InternetExplorer, Netscape)
abgearbeitet werden.
Applets haben sehr beschränkten Zugriff auf die Ressourcen des
Gastrechners.
– Applets können kein Programme starten.
– Applets können keine Dateien öffnen (keine Verzeichnisse lesen).
– Applets können keine Systemeigenschaften des Gastrechners
erkennen.
– Applets können keine email-Adressen herausfinden.
Applets können von jedem JAVA-fähigen Browser gestartet weren.
jdk enthält das Programm appletviewer zu Starten von Applets.
DVG1 - Applets
2
HTML-Interface


Zu jedem Applet muß eine HTML-Datei existieren, die von einem
Browser bzw. Viewer aufgerufen wird und die Verbindung zu einem
JAVA-Object das von der Klasse Applet abgeleitet ist, herstellt.
Beispiel:
<APPLET CODE="Applet01.class" WIDTH="600" HEGHT="400">
</APPLET>

Es wird eine Anzeigefläche von 600 Pixel Breite und 400 Pixel Höhe
geöffnet, die Klasse Applet01.class gestartet und das Ergebnis
angezeigt.
DVG1 - Applets
3
Einfachstes Applet
import java.awt.*;
import java.applet.*;
public class Applet01 extends Applet
{
public void paint(Graphics g)
{
g.drawString("Das ist das Applet01", 100,200);
}
}
DVG1 - Applets
4
Methoden der Klasse Applet

public void paint(Graphics g)

– wird aufgerufen wenn das Applet neu gezeichnet wird
public void init()

– wird aufgerufen nachdem das Applet geladen wurde
public void start()

– wird aufgerufen wenn das Applet aktiv wird
public void stop()

– wird aufgerufen wenn das Applet deaktiviert wird
public void destroy()
– wird aufgerufen wenn das Applet beendet wird
DVG1 - Applets
5
import java.awt.*;
import java.applet.*;
public class Applet02 extends Applet
{
int ninit = 0;
public void init(){ ninit++; }
int nstart = 0;
public void start() { nstart++; }
int nstop = 0;
public void stop() { nstop++; }
int ndestroy = 0;
public void destroy() { ndestroy++; }
int npaint = 0;
public void paint(Graphics g)
{
npaint++;
g.drawString("Das ist das Applet02", 100,200);
g.drawString("init
"+ninit,100,220);
g.drawString("start
"+nstart,100,240);
g.drawString("stop
"+nstop,100,260);
g.drawString("destroy "+ndestroy,100,280);
g.drawString("paint
"+npaint,100,300);
}
}
DVG1 - Applets
6
Applet und Frame




Problem: Wie kann ein JAVA-Programm sowohl als Applet als auch
als Frame-Programm geschrieben werden?
Applet
– Die im HTML-Teil aufgerufene Klasse muß public sein. Sie muß
also als erste Klasse in der Datei stehen.
Frame
– Das Programm wird durch die Methode public static void
main() gestartet, die in der ersten public-Klasse der Datei
enthalten sein muß.
– Das Frame kann in einer nicht-public-Klasse definiert sein.
Die paint-Methoden der Applet-Klasse und der Frame-Klasse sind
identisch.
DVG1 - Applets
7
import java.awt.*;
import java.applet.*;
public class Applet03 extends Applet
{
public void paint(Graphics g)
{
g.drawString("Das ist das Applet03", 100,200);
}
public static void main (String [] args)
{
Applet03Frame f = new Applet03Frame();
f.setSize(600,400);
f.show();
}
}
class Applet03Frame extends Frame
{
public void paint(Graphics g)
{
g.drawString("Das ist das Applet03", 100,200);
}
}
DVG1 - Applets
8
import java.awt.*;
import java.applet.*;
public class Applet04 extends Applet
{
public void paint(Graphics g)
{
Applet04Grafik.paint(g);
}
public static void main (String [] args)
{
Applet04Frame f = new Applet04Frame();
f.setSize(600,400);
f.show();
}
}
class Applet04Frame extends Frame
{
public void paint(Graphics g)
{
Applet04Grafik.paint(g);
}
}
DVG1 - Applets
9
class Applet04Grafik
{
public static void paint(Graphics g)
{
g.drawString("Das ist das Applet04", 100,200);
}
}
DVG1 - Applets
10
Herunterladen