Einführung - Grafische Oberflächen mit AWT Grafische Elemente erzeugen und anordnen Grafische Elemente in Beispielen Grafische Elemente anordnen - Layoutmanager Jetzt soll auch was passieren - Ereignisbehandlung Ereignisbehandlung in Beispielen
Die Kommunikation zwischen Anwender und Programm funktioniert über eine Oberfläche. In aktuellen (2018) Programmen sind
das Eingabebereiche, Buttons, Menüs, Scrollbars (Bildlaufleisten), Auswahlfelder usw.
Mit AWT (abstract window toolkit) stellt Java Klassen bereit, aus denen fertige Elemente für Oberflächen eingesetzt werden
können.
Hier sollen beispielhaft einige Oberflächen entwickelt werden.
Merke:
Im Schnitt schreibt man 80% des Quellcodes ausschließlich zur Gestaltung der grafischen Oberfläche.
Bleiben gerade mal 20% für die eigentlichen Funktionen des Programms.
Mit Hilfe existierender Klassen bastelt man sich zunächst eine Oberfläche zusammen.
01 | import java.awt.*; |
02 | |
03 | /** |
04 | Mein erstes Javaprogramm mit grafischer Oberfläche |
05 | */ |
06 | |
07 | public class GrafischeOberflaeche01 extends Frame { |
08 | |
09 | public GrafischeOberflaeche01() { |
10 | this.setSize(400,300); |
11 | this.setTitle("Ich bin eine grafische Oberfläche"); |
12 | this.setVisible(true); |
13 | } |
14 | |
15 | public static void main(String[] args) { |
16 | GrafischeOberflaeche01 programm = new GrafischeOberflaeche01(); |
17 | } |
18 | } |
19 | |
20 |
Zeile 01 | Java funktioniert nach dem Baukastenprinzip. Die Klassen, die ich verwenden möchte, muss ich vorher importieren.
Nach dem Import kann ich die Klasse mit allen Möglichkeiten verwenden. In der Dokumentation zur Klasse Frame steht ganz oben, dass ich die Klasse in dem Zweig java.awt.Frame finde. Daraus ergäbe sich die Importanweisung: import java.awt.Frame; Da ich später noch mehrere Elemente des AWT benutzen möchte, importiere ich mit import java.awt.*; gleich alle Elemente. |
Zeile 03-05 | Das Kommentieren spielt in Java eine sehr große Rolle. Jeder Programmierer kommentiert seine Klassen. Beginnt ein Kommentar mit /** , so handelt es sich um einen Dokumentationskommentar. Das Tool javadoc (im Ordner bin) kann aus diesen Kommentaren eine Dokumentation in Form einer Webseite generieren, die man anderen Programmierern zur Verfügung stellen kann. |
Zeile 07-18 | Das ist die eigentlich Klasse Die einfache Klassendefinition wird mit der Anweisung extends Frame ergänzt. Damit erweitert meine Klasse GrafischeOberflaeche01 die Möglichkeiten der Klasse Frame. Wenn ich nichts weiter programmiere, dann kann meine Klasse mindestens alles, was die Klasse Frame kann. |
Zeile 09-13 | Um aus der Klassendefinition ein Objekt erzeugen zu können, schreibe ich die Konstruktormethode. |
Zeile 10-12 | In der Dokumentation der Klasse Frame findet man unter "Method Summary" Methoden, die man für seine Klasse
einfach verwenden darf. Hier das Einstellen der Framgröße (setSize), das Schreiben des Titels in die Titelleiste
des Frames (setTitle) und das Sichtbarmachen des Frames (setVisible, in der Dokumentation steht, dass der
Konstruktor der Klasse Frame unsichtbare Objekte erzeugt.). Das Schlüsselwort this bezieht sich auf das Objekt, welches durch Aufruf der Konstruktormethode erzeugt (instanziiert) wird. |
Zeile 15-17 | Damit mein Programm nach dem Aufruf etwas ausführt, wird eine Startmethode benötigt. |
Und so sieht das erste Programm aus:
Ein ernüchterndes Ergebnis für so viel Programmcode. Und es kommt noch schlimmer.
Einführung - Grafische Oberflächen mit AWT Grafische Elemente erzeugen und anordnen Grafische Elemente in Beispielen Grafische Elemente anordnen - Layoutmanager Jetzt soll auch was passieren - Ereignisbehandlung Ereignisbehandlung in Beispielen