Abstraktion, Assoziation, interface?

Der Code steht in der Klasse LED_Anzeige,
also meint this ein LED_Anzeige-Objekt.
LED_Anzeige extends JPanel.
Also erbt this (und alle andern LED_Anzeigen) von JPanel, und ist damit ein JPanel.
this=panel

anzeige[ i ] ist ein LED_7segment. Keine Ahnung,
was das ist (Button wohl nicht, von was erbt es?),
aber irgendwas addbares wirds wohl sein.
 
Java:
public class Led_7Segment extends java.awt.Canvas

Also wir haben da so eine fertige Bibliothek davon bekommen. Die hat irgendwer von der Schule geschrieben und beinhalten halt Methoden(setValue, getValue, keine add-Methode laut Skriptum etc.)
 
Java:
public class Led_7Segment extends java.awt.Canvas
beinhalten halt Methoden(setValue, getValue, keine add-Methode laut Skriptum etc.)

Schau mal:

Deine Led_7Segment Klasse leite ab von
java.awt.Canvas leitet ab von java.awt.Component.

Eine add()-Methode muss diese Led_7Segment Klasse auch gar nicht anbieten. Denn die Led_7Segment Klasse ist selbst eine Komponente, die man einem Container hinzufügen kann. Da sie selbst kein Container ist, sondern zum darauf Zeichnen benutzt wird, muss sie auch keine Methode zum hinzufügen weiterer Komponenten oder die Möglichkeit des Verwendens eines Layout-Managers anbieten.

Ein Container wäre z.B. javax.swing.JFrame (landläufig bekannt als "Fenster") oder auch das verwendete und dir bekannte javax.swing.Panel. Beide erweitern java.awt.Container und bieten damit unter anderem die Methoden

- add(Component comp)
- setLayout(LayoutManager mgr)

an.

Was du hier siehst, ist die Klassen-Hierarchie und du solltest dich damit anfreunden ;-)
 
Zurück