jltk stellt eine einfache Möglichkeit zur Verfügung kleine Grafische Benutzeroberflächen (GUI- Graphical User Interface) zu erstellen. Jede Komponente der grafischen Oberfläche ist dabei ein Objekt, das im Quelltext erzeugt werden muss. Der Konstrukor nimmt dabei die Position, die Größe und weitere Informationen entgegen.
Damit die grafischen Elemente (Komponenten) auf Ereignisse (z.B. anklicken) reagieren, müssen diese Objekte in einer Unterklasse App sein.
Auf der Seite Komponenten einer grafischen Oberfläche werden alle Element, die man in einer GUI verwenden kann, vorgestellt.
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… importieren. Denke daran, das die jltk-Bibliothek importiert ist.
Erzeugt man dann ein Objekt aus dieser Klasse, so wird die zugehörige GUI erstellt.
import jltk.App; // Klasse App import jltk.gui.*; // GUI Komponenten public class FensterMitLabel extends App{ // FensterMitLabel ist Unterklasse der Klasse App // Etikett Label lblText; // Konstruktor public FensterMitLabel(){ super(200,100); // Fenster der Größe 400x600 erzeugen } }
Das folgende Beispiel zeigt eine Grafische Benutzeroberfläche mit einem Label (Etikett), TextField (Texteingabe) und einem Button (Schaltfläche). Wir der Button angeklickt, so wird eine Methode ausgeführt.
import jltk.App; // Klasse App import jltk.gui.*; // GUI Komponenten public class GUIexample extends App{ // GUIexample ist Unterklasse der Klasse App //Komponenten der grafischen Oberfläche // Konstruktor public GUIexample(){ super(250,200); // Fenster der Größe 400x600 erzeugen this.window.setTitle("Hallo"); // Label erzeugen this.lblName.setTextAlignment("right"); // Textfeld erzeugen // Aufgabelabel // Button erzeugen this.btnWrite.setOnButtonClicked("write"); } public void write(){ if(name.length() == 0){ this.lblText.setText("Hallo Welt!"); }else{ this.lblText.setText("Hallo "+name + "!"); } } }
this.window
kann man auf das Fenster (kommt aus der Klasse App) zugreifen. Hier wird der Title (siehe Bild oben) geändert.