Hallo,
ich möchte Tetris programmieren und habe so meine Probleme, wie ich das ganze grafisch darstellen soll.
Für die Grafik gibt es drei Klassen:
1) Die Hauptklasse "Tetris"
2) Die GUI - Klasse "GUI" (mit dem NetBeans GUI - Builder erstellt)
3) Die von JPanel abgeleitete Klasse "Spielflaeche" (Zeichnet ein Gitter und füllt die Felder)
Leider scheint es unmöglich zu sein, in der Klasse "GUI" die Deklaration von JPanel einfach nach "Spielflaeche" umzustellen, da der Quelltext an dieser Stelle schreibgeschützt ist. Mir war es nur möglich, das "JPanel1" als "Spielflaeche" über den Konstruktor zu initialisieren. Somit kann ich nicht "JPanel1.selectFeld(x,y);" (eine Methode von "Spielflaeche") aufrufen.
Irgendwie muss ich aber die Daten der Objekte von der Hauptklasse zur Klasse "Spielflaeche" überbringen. Das habe ich versucht, damit zu lösen, indem ich eine Referenz auf die Hauptklasse der Klasse "GUI" über den Konstruktor gebe. Die Klasse "GUI" gibt dann über den Konstruktor die Referenz weiter an die Klasse "Spielflaeche". Die Klasse "Spielflaeche" soll
im nächsten Schritt eine Referenz auf sich selbst der Hauptklasse "Tetris" übergeben,
damit diese darauf zugreifen kann.
Das problematische daran: Wenn die Klasse GUI den Konstruktor vom JPanel1 aufruft
(new Spielflaeche(10, 10, Hauptklasse), dann werden die ersten beiden Übergabeparameter korrekt weitergegeben, der dritte allerdings nicht.
Abgesehen davon kommt die Referenz auf die Hauptklasse auch bis zur Klasse "GUI", aber nicht weiter.
Leider konnte ich hier keine Code - Abschnitte hier nicht explitzit reinstellen, da ich diese "Syntaxhighlighting-Tags" nicht kenne, daher habe ich das Netbeans - Projekt mit
einem Klassendiagramm der entsprechenden Klassen hochgeladen.
Vielen Dank für das Lesen meines langen Textes!
Michael
ich möchte Tetris programmieren und habe so meine Probleme, wie ich das ganze grafisch darstellen soll.
Für die Grafik gibt es drei Klassen:
1) Die Hauptklasse "Tetris"
2) Die GUI - Klasse "GUI" (mit dem NetBeans GUI - Builder erstellt)
3) Die von JPanel abgeleitete Klasse "Spielflaeche" (Zeichnet ein Gitter und füllt die Felder)
Leider scheint es unmöglich zu sein, in der Klasse "GUI" die Deklaration von JPanel einfach nach "Spielflaeche" umzustellen, da der Quelltext an dieser Stelle schreibgeschützt ist. Mir war es nur möglich, das "JPanel1" als "Spielflaeche" über den Konstruktor zu initialisieren. Somit kann ich nicht "JPanel1.selectFeld(x,y);" (eine Methode von "Spielflaeche") aufrufen.
Irgendwie muss ich aber die Daten der Objekte von der Hauptklasse zur Klasse "Spielflaeche" überbringen. Das habe ich versucht, damit zu lösen, indem ich eine Referenz auf die Hauptklasse der Klasse "GUI" über den Konstruktor gebe. Die Klasse "GUI" gibt dann über den Konstruktor die Referenz weiter an die Klasse "Spielflaeche". Die Klasse "Spielflaeche" soll
im nächsten Schritt eine Referenz auf sich selbst der Hauptklasse "Tetris" übergeben,
damit diese darauf zugreifen kann.
Das problematische daran: Wenn die Klasse GUI den Konstruktor vom JPanel1 aufruft
(new Spielflaeche(10, 10, Hauptklasse), dann werden die ersten beiden Übergabeparameter korrekt weitergegeben, der dritte allerdings nicht.
Abgesehen davon kommt die Referenz auf die Hauptklasse auch bis zur Klasse "GUI", aber nicht weiter.
Leider konnte ich hier keine Code - Abschnitte hier nicht explitzit reinstellen, da ich diese "Syntaxhighlighting-Tags" nicht kenne, daher habe ich das Netbeans - Projekt mit
einem Klassendiagramm der entsprechenden Klassen hochgeladen.
Vielen Dank für das Lesen meines langen Textes!
Michael