Um eine grafische Java-Anwendung zu erhalten, müssen in der Klasse KundeGUI des Applet einige Änderungen vorgenommen werden.

 

1.           Die Operation main() ist eine Klassenoperation. Daher kann innerhalb dieser Operation nur auf Klassenattribute zugegriffen werden. Da noch kein Objekt der Klasse existiert, gibt es auch noch keine Objektattribute. Aus dem selben Grund können auch nur andere Klassenoperationen und keine Objektoperationen aufgerufen werden.

a.     Eine Möglichkeit besteht darin, aus Objektattributen und Objektoperationen Klassenattributen und Klassenoperationen durch voranstellen der Schlüsselwortes static zu machen.

b.    Die Alternative ist, innerhalb der Klassenoperation main() ein Objekt der eigenen Klasse zu erzeugen. Ist des Objekt erzeugt, darin kann über das Referenz-Attribut auf die Objektoperationen dieser Klasse zugegriffen werden.


public class KundeGUI

{

     // Referenz-Attribut als Klassenattribut

     static KundeGUI einKundeGUI;

 

     public KundeGUI{}

 

     public static void main (String[] args)

{

         einKundeGUI = new KundeGUI();

     }

}


2.           Um eine möglichst analoge Benutzeroberfläche wie beim Applet zu erhalten und möglichst wenige Änderungen vornehmen zu müssen, sind folgende Modifikationen in der entsprechenden GUI-Klasse erforderlich:

a.     Jede GUI-Klasse eines applets verwendet die Klasse Applet, die eine Reihe von Operationen zur Verfügung stellt. Bei einer Anwendung kann diese Klasse nicht verwendet werden. Eine Klasse mit ähnlichen Eigenschaften ist die Klasse Frame. Sie stellt ein „einfaches“ Fenster zur Verfügung. In der ersten Zeile der Klassendeklaration muss extends Applet umgewandelt werden in ein extends Frame. Die Zeile import java.applet kann dann natürlich entfallen.
=>     Aus
         public class KundeGUI extends Applet
    
wird
     public class KundeGUI extends Frame

         (Oder doch JFrame?)

b.    Aus der Operation init() wird der Konstruktor der GUI-Klasse.
Aus public void init() wird public KundeGUI().
Die Anweisungen bleiben (selbstverständlich) unverändert

c.     Bei Applets wird die Größe durch die Angabe der Breite und Höhe im applet-Befehl der HTML-Seite festgelegt. Bei der Anwendung muss die Festlegung der Fenstergröße durch die Operation
void setSize( int width, int hight) erfolgen.
Da ein Fensterobjekt nach dem Erzeugen unsichtbar ist, muss er durch die Operation void setVisible(boolean b) mit b = true auf dem Bildschirm angezeigt werden.
Die main() muss daher nach dem Erzeugen des GUI-Objekts um entsprechende Aufrufe dieser Operation ergänzt werden
Nach der Anweisung zur Objekterzeugung
einKundeGUI = new KundeGUI();
stehen nun folgende Anweisungen:
einKundeGUI.setSize(430, 270);
einKundeGUI.setVisible(true);
Diese Anweisungen werden nach dem Abschluss der Konstruktors ausgeführt.

d.    Die Ausführung der Operation start() des Applet kann durch einen Aufruf der Operation am Ende der main() erfolgen. Die Operation stop() kann entfernt werden.
Das ganze noch mal zum mitmeißeln:
Aufruf der Operation start():
einKundeGUI.start()