(Logikfrage) GuiEvents weiterleiten

wyldstyle

Aktives Mitglied
Hi, ich gebe zu, dass der Threadtitel etwas irreleitend sein kann.

Es geht um folgendes: man denke sich eine Klassenstruktur für ein Spiel mit folgenden 3 Klassen:

Spiel, Gui, Spieler. In der Klasse Spiel werden Spieler und die Gui erzeugt.

Kurz gefasst:
Spiel kennt Guiobjekt, Spielerobjekt. Gui und Spieler kennen nichts anderes außer sich selbst.

Jetzt ruft das Spielobjekt im Spielverlauf eine methode 'spieler.getplayeraction' auf. In dieser Methode sollen jetzt die Eingaben aus der Gui verarbeitet werden.

Problem: Spieler kennt Gui nicht und umgekehrt. Wie bekomme ich die Guievents ala buttonklick etc. in den Spieler auf möglichst elegante Art?

Ich bin da mit meinem Latein am Ende!

Grüße,wyldstyle
 

hansmueller

Bekanntes Mitglied
Hallo,

du könntest den Objekten der Klasse Spieler und Gui bei der Erzeugung das Objekt Spiel mitgeben.
z. B.
Code:
Spieler x = new Spieler(this);

Du mußt natürlich die Konstuktoren für Spieler und Gui anpassen.

z. B.
Code:
public Spieler(Spiel p_Spiel)
{
//Tue irgenwas
}

Über p_Spiel kannst du nun auf das Objekt der Klasse Spiel zugreifen. Und natürlich auch auf alle Objekte, die sich in diesem Objekt befinden.

MfG
hansmueller
 

wyldstyle

Aktives Mitglied
Nun ich trenne Funktionalität von der Oberfläche d.h. der interen Ablauf wird über die Spielklasse gesteuert und diese erzeugt bzw. verändert eben über getter/setter die Gui. Die Gui kennt dementsprechend das Spiel nicht.
 
G

Gast2

Gast
Nun ich trenne Funktionalität von der Oberfläche d.h. der interen Ablauf wird über die Spielklasse gesteuert und diese erzeugt bzw. verändert eben über getter/setter die Gui. Die Gui kennt dementsprechend das Spiel nicht.

Falscher Ansatz... Das Spiel DARF NICHT die GUI ändern... eine Fachklasse kennt die GUI nicht...
Oder welches Ziel verfolgst du damit????
 

Ähnliche Java Themen


Oben