# Zeichnen außerhalb der paint-Methode



## agent876 (14. Jan 2017)

Hallo,
ich programmiere gerade ein kleines Spiel und da ich noch nicht all zu lange mit der Klasse Graphics2D arbeite habe ich folgende Frage:
Kann man außerhalb der paint(Graphics g) - Methode auch zeichen? Wenn ja wie geht es und wenn nein welche Möglichkeit habe ich sonst? In der paint Methode steht nämlich bei mir der Aufbau des JFrame und ich möchte bei einem Ereignis etwas in dem JFrame zeichen.
Danke für die Antworten schon im Voraus!


----------



## JuKu (18. Jan 2017)

Ich bin mir nicht sicher, ob es geht, aber du solltest es aus Prinzip eher nicht tun.
Es sei denn, du willst z.B. einfach ein Bild zeichnen und abspeichern und dabei gar nichts auf den Bildschirm rendern.


----------



## Hellosager (24. Jan 2017)

Oha hier gibts auch pentaquin Mitglieder? 
Cool^^


----------



## JuKu (31. Jan 2017)

Hellosager hat gesagt.:


> Oha hier gibts auch pentaquin Mitglieder?
> Cool^^



Wieso nicht? 
Interessierst dich wohl für Pentaquin?


----------



## Schmetterhand (31. Jan 2017)

Du brauchst auf jeden Fall auch das "Graphics(2D)"-Objekt, um zu zeichnen. Außerdem kann es sein, daß in der Swing-GUI ein Zeichenvorgang, welcher stattfindet, ohne vorher "component.repaint(Graphics g)" aufgerufen zu haben, gar nicht funktioniert... 
Ansonsten kann man natürlich auch aus der "paint()"-Methode heraus eine andere Methode aufrufen und z.B. das "Graphics"-Objekt übergeben, aber das wirst Du ja selber wissen 

Gruß,
Schmetterhand


----------



## Hellosager (3. Feb 2017)

JuKu hat gesagt.:


> Wieso nicht?
> Interessierst dich wohl für Pentaquin?



Schon öfter mit dem Gedanken gespielt mich mal zu melden. Hab aber leider nicht die Zeit.


----------



## JuKu (3. Feb 2017)

Hellosager hat gesagt.:


> Schon öfter mit dem Gedanken gespielt mich mal zu melden. Hab aber leider nicht die Zeit.



Schade!



Schmetterhand hat gesagt.:


> Außerdem kann es sein, daß in der Swing-GUI ein Zeichenvorgang, welcher stattfindet, ohne vorher "component.repaint(Graphics g)" aufgerufen zu haben, gar nicht funktioniert...



Das wird, wie du sagst, außerhalb eines Render Vorgangs nicht funktionieren.


----------

