Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
de:jltk:gui:example [2023/12/18 12:39] – jltk | de:jltk:gui:example [2025/02/27 21:03] (aktuell) – jltk | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Überblick ===== | ===== Überblick ===== | ||
- | jltk stellt eine einfache Möglichkeit zur Verfügung kleine [[wpde> | + | //jltk// stellt eine einfache Möglichkeit zur Verfügung kleine [[wpde> |
- | Damit die grafischen Elemente auf Ereignisse (z.B. anklicken) reagieren, müssen diese Objekte in einer Unterklasse [[de: | + | Damit die grafischen Elemente |
- | ===== Fenster mit Label ===== | + | Auf der Seite [[de: |
- | * Klassen, die grafische Oberflächen zur Verfügung stellen, müssen Unterklassen der Klasse //App// sein (Zeile 4 und Zeile 1). Im Konstruktor muss dann mit super(…) der Konstruktor von //App// aufgerufen werden. Die Parameter von //super// sind die Fensterbreite und Höhe in Pixel | ||
- | <file java FensterMitLabel.java> | + | ===== Beispiel: Fenster mit Label ===== |
+ | |||
+ | Das erste Beispiel erzeugt ein Fenster mit einem //Label// (Etikett) zur Verfügung. Du kannst den Quelltext als Datei herunterladen und in blueJ über //Datei -> Klasse aus Datei hinzufügen...// | ||
+ | |||
+ | Erzeugt man dann ein Objekt aus dieser Klasse, so wird die zugehörige GUI erstellt. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | <file java FensterMitLabel.java | ||
import jltk.App; | import jltk.App; | ||
import jltk.gui.*; | import jltk.gui.*; | ||
Zeile 24: | Zeile 33: | ||
public FensterMitLabel(){ | public FensterMitLabel(){ | ||
super(200, | super(200, | ||
- | this.lblText = new Label(50, | + | this.lblText = new Label(50, |
} | } | ||
} | } | ||
- | |||
</ | </ | ||
- | <file java GUIexample.java> | + | * Zeile 1: Klasse // |
+ | * Zeile 2: Alle Klassen aus dem Paket // | ||
+ | * Zeile 4: Klassen, die grafische Oberflächen zur Verfügung stellen, müssen Unterklassen der Klasse //App// sein. | ||
+ | * Zeile 7: Ein Attribut vom Typ //Label// anlegen. | ||
+ | * Zeile 11: Im Konstruktor muss dann mit // | ||
+ | * Zeile 12: Ein Objekt aus der Klasse //Label// wird erzeugt und dem Attribut //lblText// zugewiesen. | ||
+ | * Die ersten beiden Parameter sind die x- und y-Koordinate der linken oberen Ecke des Labels auf auf dem Fenster. | ||
+ | * Der dritte und vierte Parameter ist die Breite und Höhe des Labels. | ||
+ | * Der Fünfte Parameter ist der Text, des in dem Label steht. | ||
+ | |||
+ | |||
+ | ===== Beispiel: Label, TextField und Button ===== | ||
+ | |||
+ | Das folgende Beispiel zeigt eine Grafische Benutzeroberfläche mit einem Label (Etikett), TextField (Texteingabe) und einem Button (Schaltfläche). Wird der Button angeklickt, so wird eine Methode ausgeführt. | ||
+ | |||
+ | <file java GUIexample.java | ||
import jltk.App; | import jltk.App; | ||
import jltk.gui.*; | import jltk.gui.*; | ||
Zeile 52: | Zeile 75: | ||
this.txtName = new TextField(100, | this.txtName = new TextField(100, | ||
// Aufgabelabel | // Aufgabelabel | ||
- | this.lblText = new Label(50, | + | this.lblText = new Label(50, |
// Button erzeugen | // Button erzeugen | ||
this.btnWrite = new Button(50, | this.btnWrite = new Button(50, | ||
Zeile 59: | Zeile 82: | ||
public void write(){ | public void write(){ | ||
- | |||
String name = this.txtName.getContentAsString(); | String name = this.txtName.getContentAsString(); | ||
if(name.length() == 0){ | if(name.length() == 0){ | ||
Zeile 68: | Zeile 90: | ||
} | } | ||
} | } | ||
- | |||
</ | </ | ||
+ | * Zeile 8-10: Für jede Komponente wird eine Attribut angelegt. | ||
+ | * Zeile 15: Mit '' | ||
+ | * Zeile 25: Dem Button wird mitgeteilt, dass er die Methode //write()// (Zeile 28) ausführen muss, wenn er angeklickt wird | ||
+ | * Zeile 28-35: Wird die Methode aufgerufen, wird zunächst der Inhalt des Textfelds ausgelesen. Ist dieser leer, wird //Hallo Welt!// in das Label geschrieben, | ||
+ | |||
+ | ===== Siehe auch ===== | ||
+ | |||
+ | * [[de: | ||
+ | * [[de: | ||
- | ===== Komponenten einer GUI ===== | ||
- | {{ : |