# JPanel -> getGraphics()



## Buzweed (10. Jul 2006)

Hi,

wie kann ich denn aus einem JPanel das Graphics - Objekt erhalten?

wenn ich folgendes mache ist meine Graphics Variable gBuffer immer null :


```
import javax.swing.*;
public class MusterPanel extends JPanel{
Graphcis gBuffer;
 public MusterPanel(int b)
    {
    	JPanel pan = new JPanel();
    	this.add(pan);
    	
    	this.b = b;
    	setSize(b,b); 
    	setVisible(true);       
    	
    	gBuffer = pan.getGraphics();
    	
        
    }
}
```

Das Problem ist ich muss in das Panel zeichnen also brauch ich ja das Graphics - Objekt.

Kann mir vielleicht einer helfen?

Gruß,
Buz


----------



## Beni (10. Jul 2006)

Lösch "getGraphics" aus deinem Gedächnis. Lösch überhaupt die Idee, das Graphics zu speichern aus deinem Gedächnis.

Erb von dem Panel, und überschreib die "paintComponent"-Methode. Darin erhälst du ein Graphics, und kannst zeichnen.

Grundsätzlich bestimmt das System, wann gezeichnet wird. Und was gezeichnet wurde, wird niergends gespeichert. Daher müssen Componenten so gebaut sein, dass sie jederzeit neu gezeichnet werden können.

Mit "repaint" kannst du das System zwingen, die Componenten neu zu zeichnen.


----------



## Buzweed (10. Jul 2006)

Danke, geht.


----------

