Hallo,
ich versuche hier gerade eine schöne Lösung dafür zu finden, wie ich in meinem Spiel die Grafik darstellen kann.
Da hab ich jetzt an das Observer Pattern gedacht: Das Model benachrichtigt meine View, wenn sich was geändert hat.
Ich hab ja jetzt aber ein JPanel, auf dem ich Zeichnen muss. Und ich glaub ich hab grad ne Blockade, weil irgendwie
bin ich grad der Meinung dass ich das Observer Pattern hier gar nich anwenden kann.
Das Ding ist:
ich hab ja dann meine update(Observable obs, Object o) Methode in meiner View, wo ja auch das JPanel drin liegt.
Aber egal wie ich das jetz dreh und wende: Gezeichnet wird in der paintComponent(Graphics g), und ich kann
dieser Methode das Model nicht übergeben, bzw. weiss nicht wie.
Was ich meine ist, innerhalb dieser Methode muss ja dann auf das Model zugegriffe werden, um die Objekte
entsprechend zu malen. Da ich der paintComponent() das Model nicht als Parameter geben kann, muss
es irgendwo in der Klasse deklariert sein als Attribut. Und wenn das so ist, ist doch die ganze Idee des
OBserver-Pattern hin.
Hoffe is verständlich wo ich grad häng... Frage ist: Wie krieg ich das Model aus der update() Methode in die
paintComponent() Methode? Ich könnte das Pattern anwenden wenn meine View aus Labels oder sowas
besteht, aber nicht biem JPanel, weil ich diese paintcomponent überschreiben muss irgendwie, und der
mein Model nich geben kann
Und auch wenn nicht: Stimmt es, das dann hier dieses Pattern unangebracht ist, oder verwende ich das nur falsch?
Thx
ich versuche hier gerade eine schöne Lösung dafür zu finden, wie ich in meinem Spiel die Grafik darstellen kann.
Da hab ich jetzt an das Observer Pattern gedacht: Das Model benachrichtigt meine View, wenn sich was geändert hat.
Ich hab ja jetzt aber ein JPanel, auf dem ich Zeichnen muss. Und ich glaub ich hab grad ne Blockade, weil irgendwie
bin ich grad der Meinung dass ich das Observer Pattern hier gar nich anwenden kann.
Das Ding ist:
ich hab ja dann meine update(Observable obs, Object o) Methode in meiner View, wo ja auch das JPanel drin liegt.
Aber egal wie ich das jetz dreh und wende: Gezeichnet wird in der paintComponent(Graphics g), und ich kann
dieser Methode das Model nicht übergeben, bzw. weiss nicht wie.
Was ich meine ist, innerhalb dieser Methode muss ja dann auf das Model zugegriffe werden, um die Objekte
entsprechend zu malen. Da ich der paintComponent() das Model nicht als Parameter geben kann, muss
es irgendwo in der Klasse deklariert sein als Attribut. Und wenn das so ist, ist doch die ganze Idee des
OBserver-Pattern hin.
Hoffe is verständlich wo ich grad häng... Frage ist: Wie krieg ich das Model aus der update() Methode in die
paintComponent() Methode? Ich könnte das Pattern anwenden wenn meine View aus Labels oder sowas
besteht, aber nicht biem JPanel, weil ich diese paintcomponent überschreiben muss irgendwie, und der
mein Model nich geben kann
Und auch wenn nicht: Stimmt es, das dann hier dieses Pattern unangebracht ist, oder verwende ich das nur falsch?
Thx