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 ===== | ||
| - | {{ : | ||