Eine ganz einfache Applikation
Wir wollen jetzt anfangen, mit Dateien zu arbeiten. Aus Sicherheitsgründen gibt es
dabei Einschränkungen, solange man Applets programmiert. Diese Einschränkungen entfallen
bei Applikationen. Das sind Java-Programme, die zu ihrer Ausführung keinen Browser bzw.
den Appletviewer, sondern die im JDK enthaltene virtuelle Maschine java.exe benötigen. In
unserer Programmieroberfläche RealJ wird eine Applikation durch den gelben Pfeil
gestartet. Eine Applikation
muss als Startpunkt eine Methode mit dem Namen main besitzen. Der Quellcode der
einfachsten Applikation sieht dann so aus:
public
class prog1{Wenn diese Applikation kompiliert und gestartet wird, sieht das Ergebnis ziemlich jämmerlich aus:

Beim Start der Applikation könnte man Argumente eingeben, was aber meistens nicht gemacht wird.
Eine Applikation, die wie ein Applet aussieht
Mit etwas Aufwand kann man natürlich auch Applikationen in Fenstern ablaufen lassen. Die notwendige Arbeit nimmt uns sogar RealJ ab. Wenn wir ein neues Applikation Projekt mit dem Name applic1 öffnen, erzeugt RealJ schon etwas Programm-Code. Den ändern wir etwas ab, bis er so aussieht:
import
java.awt.*;public
class applic1 extends Frame{public static void main(String args[]){
}
Das sieht dem Code eines Applets recht ähnlich. Zusätzlich zur main-Methode steht hier der Code für den Konstruktor der Klasse applic1. Diese Klasse ist von der Oberklasse Frame abgeleitet, die eng mit der Klasse Applet verwandt ist (beide Klassen haben einen gemeinsamen Großvater "container" mit der Methode paint). Die Methode main schreibt zwar noch Text auf den Bildschirm, ihre Hauptaufgabe ist es aber, den Konstruktor applic1 aufzurufen, die Größe des dadurch erzeugten Fensterobjekts festzulegen und das Fenster schließlich sichtbar zu machen. Um die Einzelheiten des Fenster-Konstruktors kümmern wir uns zunächst nicht. Wichtig ist nur: Beim Schließen des Fensters wird das Programm beendet. Wenn das Fenster weitere Eigenschaften erhalten soll, muss der Konstruktor entsprechend ergänzt werden. Der Fensterkonstruktor kann damit die Funktion übernehmen, die die init()-Methode bei Applets hat.
Wenn wir das Programm kompilieren und starten erscheint ein leeres Fenster. Das können wir schnell ändern. Von der gemeinsamen Ahnen-Klasse "container" hat Frame und damit auch applic1 die Methode paint() geerbt. Das bedeutet, dass paint() genauso verwendet werden kann wie bei Applets. Wir fügen zum obigen Quellcode also noch eine paint() Methode dazu:
public
void paint(Graphics g){Nach dem Kompilieren und Starten des Programms bekommt das Fenster wieder einen Inhalt.
Applet2Applikation
Es gibt ein einfaches Verfahren, die bisher entwickelten Applets in Applikationen zu verwandeln:
| Der Fenster-Konstruktor übernimmt
die Rolle der init()-Methode Der Konstruktor wird in der main-Methode aufgerufen. Der Rest des Applets kann unverändert übernommen werden. |
Die Übertragung des Geheimschrift-Applets führt dann zu der folgenden Applikation:
import
java.awt.*;public
class codeapp extends Frame{ public
codeapp(){
this.addWindowListener(new WindowAdapter(){
public
void windowClosing(WindowEvent
e){
dispose();
System.exit(0);
}
});
setLayout(new
GridLayout(3,1));//Hier kommen die alten Befehle
add(tfe=new
TextField(30));
add(bt=new
Button("Codieren"));
add(tfa=new
TextField(30));
}
public static void main(String args[]){
public boolean action(Event e, Object was){