Informatik-Elemente graphischer Oberflächen

Aus RSG-Wiki
Wechseln zu: Navigation, Suche

Mit Feldern konnten wir statistische Daten erheben und Auswertungen machen. Für einen Spielautomaten fehlen uns aber noch der Startknopf und die Gewinnanzeige. Dies wollen wir jetzt angehen.

Um den Spielautomat nun funktionsfähig zu gestalten benötigen wir noch eine Schaltfläche  Neues Spiel und eine Anzeige Gewinn in der unteren Steuerungsleiste.

Automat1.jpg

Wir müssen also eine Schaltfläche und eine Anzeige unserem Spielautomat hinzufügen. Dazu benötigen wir Klassen, auf die wir zugreifen müssen. Die benötigten Klassen befinden sich weitgehend im Paket javax.swing. Damit wir darauf zugreifen können, müssen wir das Paket importieren. Das haben wir schon bei den Zufallszahlen gehabt. Da mussten wir auch das Paket java.util.Random importieren. Daher muss das Paket javax.swing auch vor der Klassenvereinbarung importiert werden. Also schreibt man in die nächste Zeile nach
import java.util.Random;
den Import
import javax.swing.*;

* bedeutet, dass man das gesamte Paket zur Verfügung hat und nicht nur spezielle Dinge daraus.

Unsere Klasse schaut nun folgendermaßen aus:

import java.util.Random;
import javax.swing.*;

public class SPIELAUTOMAT
{//weiterer Quelltext}


Bleistift 35fach.jpg   Aufgabe 1

Was steht im Quelltext der Klasse SPIELAUTOMAT ?

Im Quelltext stehen
1. die Attribute der Klasse,
2. der Konstruktor und

3. die Methoden der Klasse.


Nuvola apps kig.png   Merke

Graphische Oberflächen sind aus Komponenten wie Schaltknopf, Textanzeige, Texteingabe oder Auswahlliste aufgebaut. Alle diese Komponenten werden in ein Graphikfenster eingefügt. Auch das Graphikfenster selbst ist eine graphische Komponente.

Die Objekte der Klasse ZEICHENFENSTER haben eine Methode komponenteHinzufuegen(JComponent element, String position), die das übergebene Objekt in die Steuerungsleiste rechts oder unten einfügt.


Als erstes haben wir das Paket für graphische Oberflächen importiert. Nun müssen wir bei den Attributen ein Attribut der gewünschen Klasse einführen.
Ein Attribut der gewünschten Klasse ist z. B. JButton für einen Schaltknopf oder JLabel für eine Textanzeige. Wir führen aus der Klasse JButton einen Schaltknopf ein und nennen ihn schaltknopf und aus der Klasse JLabel führen wir eine Anzeige ein und nennen sie anzeige.
Im Quelltext der Klasse SPIELAUTOMAT steht dann:
import javax.swing.*;
public class SPIELAUTOMAT
{
private JButton schaltknopf;
private JLabel anzeige;
//weiterer Quelltext
}


Bleistift 35fach.jpg   Aufgabe 2

Was bewirken die Zeilen
private JButton schaltknopf;
private JLabel anzeige;
bei den Attributen?

private JButton schaltknopf; ruft ein Attribut der Klasse JButton auf, das in der Klassen SPIELAUTOMAT den Name schaltknopf erhält und private JLabel anzeige; ruft ein Atribut der Klasse JLabel auf, das hier den Name anzeige erhält.