9.3
JApplet Variante 1
|
Step by step |
In diesem
Abschnitt wird gezeigt, wie man, ausgehend von einer GUI (JFrame) zu einem
Applet für die Klasse Mathematik kommt. Was ist ein Applet? Applet ist en
Programm das nicht mehr auf dem virtuellen Prozessor (Java-VM) läuft,
sondern das von einem als plug-in in einen Browser integrierten VM
abgearbeitet wird. Das hat zwei wichtige Konsequenzen. Erstens, das Applet
wird von einer HTML-Seite aus gestartet. Zweitens, das Applet benötigt
keine Main-Methode mehr. Das letztere kann man sich so veranschaulichen.
Eine Main-Methode sorgt dafür, dass ein Programm im Speicher des Rechners
fest verankert (adressiert) wird. Bei einem Applet ist das nicht mehr
nötig, da die Kontrolle des Programms vom Browser übernommen wird.
|
Das Applet
1. Schritt |
Wenden
wir uns zunächst dem Applet zu. Wir verwenden unsere RechnerGUI (RechnerGUI.java)
und nehmen die wenigen Veränderungen vor. Sie sind im nachfolgenden
Quelltext gelb unterlegt. Im Anschluss werden die Veränderungen
kommentiert.
|
Download:
RechnerJApplet.
java |
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RechnerJApplet extends JApplet
implements ActionListener {
// Anfang Variablen
private JPanel northPanel, centerPanel;
private JLabel labelA, labelB, labelC;
private JTextField eingabeFeldA, eingabeFeldB,
eingabeFeldC, ausgabefeld;
private JButton buttonFakultaet, buttonggT,
buttonkgV, buttonFib, buttonQuadGl,
buttonGl;
// Ende Variablen
public RechnerJApplet(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(450, 150);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
// Anfang Komponenten
//hier bleibt alles beim Alten!
// Ende Komponenten
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
//auch hier bleibt alles beim Alten
}
public static void main(String[] args) {
new RechnerGUI("RechnerGUI");
}
}
|
Kommentare |
Zunächst
verändern wir den Namen der Klasse und damit auch den Namen der Datei auf
dem Rechner zu RechnerJApplet. Diese Namensänderung dient lediglich dazu,
die Übersicht zu behalten, ist also für das Funktionieren des Applets
unerheblich.
- Die Klasse erbt nicht mehr von
JFrame, sondern von JApplet. Der Unterschied eines normalen Applets zu
einem JAppelt liegt in der Verwendung der swing-Technologie.
- Der Konstruktor bekommt
natürlich den abgeänderten Namen und die Parameterliste wird geleert.
Denn, unsere GUI läuft jetzt integriert in eine HTML-Seite und benötigt
keine eigene Überschrift mehr.
- Konsequenterweise, muss der
Aufruf eines geerbten Konstruktors wegfallen.
- Das Beenden des Programms wird,
ja darf nur vom Browser kontrolliert werden, weshalb die Zeile
setDefaultCloseOperation(EXIT_ON_CLOSE);
unbedingt gestrichen werden muss.
- Die Größe des dargestellten
Fensters wird, wie wir später noch genauer sehen werden, vom HTML-Kode
der Seite, in die das Applet eingebunden ist, kontrolliert, somit
entfällt auch der Aufruf der Methode
setSize(..,..).
- Aus den gleichen Gründen
entfällt auch der Aufruf von
setVisible(true).
- Schliesslich ist, wie schon
eingangs erwähnt die Main-Methode überflüssig, weshalb sie ebenfalls
gestrichen wird.
|
Der HTML-Kode
2. Schritt |
Im Menüpunkt Start
des Javaeditors kann man durch Klicken auf 'HTML für Applet' einen
HTML-Kode erzeugen, der das Applet eingebunden hat. Gleichzeitig wird der
HTML-Kode in einer Datei mit dem Namen RechnerJApplet.html im aktuellen
Verzeichnis abgespeichert. Dieser HTML-Kode ist sehr einfach und
selbsterklärend. Die wesentlichen Zeilen sind gelb unterlegt.
|
|
<html>
<head>
<title>RechnerJApplet-Applet</title>
</head>
<body>
<h1>RechnerJApplet-Applet</h1>
<hr>
<applet code="RechnerJApplet.class" width="400" height="300">
</applet>
<hr>
</body>
</html>
|
|
Allerdings startet diese so generierte HTML-Seite unser Applet nicht. Der
Grund ist, dass es sich in unserem Falle nicht um ein Applet sondern um
ein JApplet handelt.
|
HtmlCoverter
3. Schritt |
Hier
hilft nun das Programm HtmlConverter.exe, das bei der Installation von
jdk1.5.0_02 im Unterverzeichnis bin abgelegt wird. Wir starten es.

Im ersten Eingabefeld tragen wir
die HTML-Datei ein, die wir konvertieren wollen. Das Anklicken des Buttons
'Durchsuchen' erleichtert uns die Arbeit. Ist die Datei
RechnerJApplet.html gefunden, klicken wir auf den Button 'Konvertieren'.
Die Datei RechnerJApplet.html
wird überschrieben und hat nun den folgenden Inhalt: |
<html>
<head>
<title>RechnerJApplet-Applet</title>
</head>
<body>
<h1>RechnerJApplet-Applet</h1>
<hr>
<!--"CONVERTED_APPLET"-->
<!-- HTML CONVERTER -->
<object
classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase = "http://java.sun.com/update/
1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,0,9"
WIDTH = "400" HEIGHT = "300" >
<PARAM NAME = CODE VALUE = "RechnerJApplet.class" >
<param name = "type" value = "application/x-java-applet;version=1.5">
<param name = "scriptable" value = "false">
<comment>
<embed
type = "application/x-java-applet;version=1.5" \
CODE = "RechnerJApplet.class" \
WIDTH = "400" \
HEIGHT = "300"
scriptable = false
pluginspage = "http://java.sun.com/products/plugin/index.html#download">
<noembed>
</noembed>
</embed>
</comment>
</object>
<!--
<APPLET CODE = "RechnerJApplet.class" WIDTH = "400" HEIGHT = "300">
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
<hr>
</body>
</html>
|
zum JApplet
|
Die Datei
kann man im Javaeditor öffnen. Wie man erkennen kann, ist der alte Kode.
auskommentiert, am Ende der Datei eingefügt. Wir verändern noch
WIDTH = "450" \
HEIGHT =
"150"
und speichern die Datei erneut ab.
Schließlich starten wir das JApplet indem wir die eben erzeugte Datei in
einem Browser öffnen.
|
zu |
9.4 JApplet Variante 2 |
zur Startseite |
www.pohlig.de (C)
MPohlig 2005 |