Informatik-Elemente graphischer Oberflächen: Unterschied zwischen den Versionen

Aus RSG-Wiki
Wechseln zu: Navigation, Suche
Zeile 16: Zeile 16:
 
  import javax.swing.*;<br><br>
 
  import javax.swing.*;<br><br>
 
  public class SPIELAUTOMAT<br>
 
  public class SPIELAUTOMAT<br>
  {.....}
+
  {//weiterer Quelltext}
  
Die Punkte in den geschweiften Klammern stehen für den Quelltext der Klasse.
 
  
 
{{Aufgaben-blau|1|2=Was steht im Quelltext der Klasse SPIELAUTOMAT ?}}
 
{{Aufgaben-blau|1|2=Was steht im Quelltext der Klasse SPIELAUTOMAT ?}}
Zeile 28: Zeile 27:
  
  
{{Merke|1=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.<br>
+
{{Merke|1=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.}}
 
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. <br>
 +
Ein Attribut der gewünschten Klasse ist z. B. <span style="color:#C00000">JButton</span> für einen Schaltknopf oder <span style="color:#C00000">JLabel</span> für eine Textanzeige. Wir führen aus der Klasse JButton  einen Schaltknopf ein und nennen ihn
 +
<span style="color:#2736A4">schaltknopf</span> und aus der Klasse JLabel führen wir eine Anzeige ein und nennen sie <span style="color:#2736A4">anzeige</span>. <br>
 +
Im Quelltext der Klasse SPIELAUTOMAT steht dann:<br>
 +
import javax.swing.*;<br>
 +
public class SPIELAUTOMAT<br>
 +
{<br>
 +
private JButton <span style="color:#2736A4">schaltknopf</span>;<br>
 +
private JLabel <span style="color:#2736A4">anzeige</span>;<br>
 +
//weiterer Quelltext<br>
 +
}
 +
 +
{{Aufgaben-blau|2|2= Was bewirken die Zeilen<br>
 +
private JButton schaltknopf;<br>
 +
private JLabel anzeige;<br>
 +
bei den Attributen?}}
 +
 +
{{Lösung versteckt|1=
 +
'''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.}}

Version vom 21. April 2020, 10:32 Uhr

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.