Inhaltsverzeichnis
Graphische Benutzeroberfläche
Graphische Benutzeroberflächen oder GUIs (Graphical User Interface) sind graphische Elemente, die man einem Computerprogramm hinzufügen kann.
Einfachstes Beispiel: Ein Button. Den drückt man, und dann passiert irgend etwas. Zum Beispiel spielt dann der Spielautomat einmal, d.h. er ruft die Methode spiele() einmal auf.
GUIs sind eine tolle Sache, denn bisher ist unser Programm so gestrickt, dass es nur unter BlueJ läuft. Man kann aber nicht jedem Benutzer zumuten eine Entwicklungsumgebung zu installieren nur um ein Programm nutzen zu können. Außerdem klickt es sich schneller auf einen Button, als im Menü des Objekts die Methode spiele() anzuklicken.
Wenn ein Programm fertig ist, läuft es ohne Entwicklungsumgebung!
Hier wurden dem ZEICHENFENSTER mehrere JButtons hinzugefügt (Spielen, 10 EUR aufladen,…), ein JLabel („Guthaben: 18 EUR!…“) und eine JTextArea („Ein Spiel kostet 1 EUR …“).
Beispiel
import java.util.*; import javax.swing.*; import java.awt.event.*; //JButton deklarieren JButton spieleButton; //JButton initialisieren spieleButton = new JButton("Spiele"); //Button dem Zeichenfenster hinzufügen ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(spieleButton,"rechts");
//JLabel deklarieren JLabel label; //JLabel initialisieren label = new JLabel("Guthaben: 0 EUR"); //Zum ZEICHENFENSTER hinzufügen ZEICHENFENSTER.gibFenster().komponenteHinzufuegen(label,"unten"); //Den Text des JLabels ändern label.setText("Spielen");
API und Tutorial
Aufgabe 1
- Füge Deinem Spielautomaten mindestens einen JButton, ein JLabel und eine JTextarea hinzu.
- Prüfe was passiert, wenn Du auf den JButton klickst.
Aufgabe 2
- Lies die Theorie zu ActionListenern im allgemeinen Kapitel über Action Listener.
- Füge dem JButton einen ActionListener hinzu und rufe in der actionPerformed-Methode des ActionListeners die spiele Methode auf.
- Füge insgesamt drei JButtons mit drei verschiedenen ActionListenern hinzu. Die beiden anderen JButtons sollen andere Methoden aufrufen. Z.B. 10 EUR Aufladen, Automatisch Spielen.