Inhaltsverzeichnis

Grafische Benutzeroberflächen erzeugen

Überblick

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.

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… importieren. Denke daran, das die jltk-Bibliothek importiert ist.

Erzeugt man dann ein Objekt aus dieser Klasse, so wird die zugehörige GUI erstellt.

Fenster mit Label

FensterMitLabel.java
  1. import jltk.App; // Klasse App
  2. import jltk.gui.*; // GUI Komponenten
  3.  
  4. public class FensterMitLabel extends App{ // FensterMitLabel ist Unterklasse der Klasse App
  5.  
  6. // Etikett
  7. Label lblText;
  8.  
  9. // Konstruktor
  10. public FensterMitLabel(){
  11. super(200,100); // Fenster der Größe 400x600 erzeugen
  12. this.lblText = new Label(50,25,100,25,"Hello World");
  13. }
  14. }

Beispiel: Label, TextField und Button

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.

GUIexample.java
  1. import jltk.App; // Klasse App
  2. import jltk.gui.*; // GUI Komponenten
  3.  
  4. public class GUIexample extends App{ // GUIexample ist Unterklasse der Klasse App
  5.  
  6. //Komponenten der grafischen Oberfläche
  7.  
  8. Label lblName, lblText; // Etiketten
  9. TextField txtName; // Texteingabe
  10. Button btnWrite; // Schaltfläche
  11.  
  12. // Konstruktor
  13. public GUIexample(){
  14. super(250,200); // Fenster der Größe 400x600 erzeugen
  15. this.window.setTitle("Hallo");
  16. // Label erzeugen
  17. this.lblName = new Label(50,25,50,25,"Name: ");
  18. this.lblName.setTextAlignment("right");
  19. // Textfeld erzeugen
  20. this.txtName = new TextField(100,25,100,25,"");
  21. // Aufgabelabel
  22. this.lblText = new Label(50,100,150,25,"Is there anybody out there?");
  23. // Button erzeugen
  24. this.btnWrite = new Button(50,150,100,25,"Klick mich");
  25. this.btnWrite.setOnButtonClicked("write");
  26. }
  27.  
  28. public void write(){
  29. String name = this.txtName.getContentAsString();
  30. if(name.length() == 0){
  31. this.lblText.setText("Hallo Welt!");
  32. }else{
  33. this.lblText.setText("Hallo "+name + "!");
  34. }
  35. }
  36. }

Siehe auch