Home > Informatik > Informatik EF > Folge 5

5.1 - Java-Anwendungen, Teil 1

Für fortgeschrittenere Schüler(innen), die nur auf diese Seite gekommen sind, um sich noch einmal zu informieren, wie eine Java-Anwendung aufgebaut ist, habe ich auch eine etwas komplexere Beispiel-Anwendung geschrieben, auf der sich mehrere Buttons und Textfelder befinden.

Schritt 1 - Eine minimale Anwendung erstellen

⇒ Starten Sie BlueJ und legen Sie ein neues Projekt an. Klicken Sie dann auf Neue Klasse und achten Sie darauf, dass in dem Dialogfenster Neue Klasse erzeugen der Klassentyp Klasse ausgewählt ist.

In unserem Beispiel hat die Klasse den Namen "Anwendung1".

Schritt 2 - Quelltext aufräumen

⇒ Öffnen Sie die Klasse Anwendung1 durch einen Doppelklick und entfernen Sie den gesamten Quelltext. Kopieren Sie dann folgenden Quelltext in die Zwischenablage und fügen Sie ihn in das leere Editorfenster ein:

import java.awt.*;
import javax.swing.*;

public class Anmwendung1 extends JFrame
{

    public Anmwendung1()
    {
        setSize(500,500);
        setTitle("Erste Java-Anwendung");
        setResizable(false);
        setVisible(true);
    }

    public void paint(Graphics g)
    {
        g.drawString("Hallo Welt",200,200);
    }

    public static void main(String[] args) 
    {
        new Anmwendung1();
    }
}

Schritt 3 - Kompilieren und Starten der Anwendung

⇒ Klicken Sie nun auf den Übersetzen-Button von BlueJ. Die Anwendung müsste fehlerfrei übersetzt werden. Klicken Sie jetzt bitte mit der rechten Maustaste auf die Klasse Anwendung1 und wählen Sie den Befehl void main(String[] args). Es erscheint nun ein Dialogfenster, in dem Sie dann einfach auf den OK-Button klicken:

Dialogfenster zum Ausführen einer Anwendung

Es erscheint dann ein Fenster auf dem Bildschirm, das tatsächlich ungefähr 500 mal 500 Pixel groß ist. Mitten in diesem Fenster steht die Meldung "Hallo Welt":

Eine einfache Hallo-Welt-Anwendung

Viel sieht man ja noch nicht, aber immerhin haben wir jetzt eine Anwendung erzeugt, in der etwas angezeigt wird.

Im Gegensatz zu einem Java-Applet kann eine Java-Anwendung auch direkt gestartet werden.

Schritt 4 - Direktes Starten der Anwendung

Jetzt wird es etwas komplizierter.

⇒ Suchen Sie auf der Festplatte den BlueJ-Ordner / den Java-Ordner, in dem sich Ihr BlueJ-Projekt befindet.

Das kann manchmal etwas dauern, je nach den Einstellungen, die Sie oder Ihr Administrator vorgenommen haben.

asdf

So könnte der Inhalt des Projekt-Ordners aussehen

Wenn Sie nun einen Doppelklick auf die Datei mit der Endung "class" ausführen, startet die Java-Anwendung. Auf manchen Rechnern kann das ein paar Sekunden dauern, weil zunächst mal irgendwelche Programme im Betriebssystem aufgerufen werden müssen, die dann dafür sorgen, dass die Java-Anwenung tatsächlich läuft.

Übung 5.1-1

Schreiben Sie die paint-Methode so um, dass der String "Hallo Welt" genau 20 mal untereinander in dem Applet angezeigt wird, und zwar linksbündig mit einem Randabstand von 50 Pixeln. Die erste Zeile soll bei y=40 ausgegeben werden. Setzen Sie dazu eine while- oder eine do-while-Schleife ein.

Wie immer, gilt auch hier die Regel: Je kürzer der Quelltext, desto besser!

Schritt 5 - Analyse des Minimal-Quelltextes

import java.awt.*;
import javax.swing.*;

public class Anmwendung1 extends JFrame
{

    public Anmwendung1()
    {
        setSize(500,500);
        setTitle("Erste Java-Anwendung");
        setResizable(false);
        setVisible(true);
    }

    public void paint(Graphics g)
    {
        g.drawString("Hallo Welt",200,200);
    }

    public static void main(String[] args) 
    {
        new Anmwendung1();
    }
}
Der Konstruktor
  • Mit dem Befehl setSize wird die Größe der Java-Anwendung auf 500 x 500 Pixel festgelegt.
  • Der Befehl setTitle legt den Titel des Anwendungsfensters fest.
  • Mit setResizable legen wir fest, ob der Anwender das Fenster mit der Maus vergrößern oder verkleinern kann. Da wir hier false als Parameter gewählt haben, kann der User die Fenstergröße nicht mit der Maus verändern.
  • Und mit setVisible schließlich legen wir fest, ob das Fenster von Anfang an zu sehen ist oder nicht.
Die paint()-Methode

In der paint-Methode werden graphische Inhalte in das leere Fenster "gezaubert". Der drawString-Befehl beispielsweise schreibt einen Text in das Fenster. Die drei Parameter (String, int, int) des drawString-Befehls sind dabei sehr wichtig, man sollte sie auswendig kennen:

  1. Der erste Parameter - ein String - stellt den Text dar, der ausgegeben werden soll. In unserem Fall also "Hallo Welt".
  2. Der zweite Parameter - eine int-Zahl - legt fest, an welcher X-Position im Fenster der Text ausgegeben wird.
  3. Der dritte Parameter - wieder eine int-Zahl - gibt schließlich an, an welcher Y-Position der Text erscheint. Dabei wird von oben nach unten gerechnet. Das heißt, die Y-Position 0 ist ganz oben im Fenster, die Y-Position 500 ganz unten (falls das Fenster nur 500 Pixel hoch ist).
Die main()-Methode

Das ist die Methode der Klasse, die immer als erste aufgerufen wird, wenn der Anwender einen Doppelklick auf das Programmsymbol ausführt, das an der Dateiendigung "class" erkennbar ist.

In der BlueJ-Umgebung können Sie aber auch mit der rechten Maustaste auf den orangefarbenen Kasten der Klasse Zeichnung klicken und dann die main-Methode auswählen.

Der einzige Befehl in dieser main-Methode ist die Erzeugung eines Objektes der Klasse Anwendung1, ohne dass allerdings ein eigenes Objekt deklariert werden muss. Wenn das neue Objekt erzeugt wird, wird als erstes der Konstruktor ausgeführt, dann die paint-Methode.

komplexere Java-Anwendung

Für fortgeschrittenere Schüler(innen), die nur auf diese Seite gekommen sind, um sich noch einmal zu informieren, wie eine Java-Anwendung aufgebaut ist, habe ich auch eine etwas komplexere Beispiel-Anwendung geschrieben. Hier wird der Umgang mit Buttons und Textfeldern gezeigt.