# Quadrat auf Frame zeichnen



## Scratchy (21. Jun 2014)

Hallo,

ich bin noch totaler Java-Anfänger und wollte ein einfaches Quadrat auf ein Frame zeichnen.
Deshalb bin ich auch die paint(Graphics g) - Methode gekommen, kann diese aber nicht in meinen Code einbauen  . 

Danke im Voraus 



Hier der Code:
[JAvA]
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class OwnGraphic extends JFrame{
	private JFrame f;
	private JPanel p;
	int a;
	int b;

	public OwnGraphic(){
		f = new JFrame("Bewegung");
		p = new JPanel();
		f.setSize(400,200);
		f.setDefaultCloseOperation(EXIT_ON_CLOSE);
		//p.setBackground(Color.cyan);
		p.paint(getGraphics() );
		f.add(p);
		f.setVisible(true);
	}
	public void paint(Graphics g){
		a = 10;
		b = 10;
		g.fillRect(a,a+50,b,b+50);
	}




	public static void main(String[] args) {
		new OwnGraphic();

	}
}

[/code]


----------



## java253 (21. Jun 2014)

```
p.paint(getGraphics() );
```
ruft nicht die paint() Methode auf, die du geschrieben hast, denn die gehört zur OwnGraphic-Klasse und nicht zu p. p.paint(getGraphics()) ist nicht überschrieben und ist daher leer. Außerdem wird paint(g) automatisch aufgerufen, neu zeichnen kannst du bei Bedarf mit repaint(). 

Um auf Swing-Komponenten zeichnen, überschreibt man paintComponent(Graphics g), paint(Graphics g) ist für AWT. 

OwnGraphic erbt zwar von JFrame, aber du verwendest das gar nicht.

```
public class OwnGraphic extends JFrame{
    private JFrame f;
```

Geändert sieht das dann so aus:

```
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class OwnGraphic extends JPanel{
	
	private JFrame f;
	int a;
	int b;

	public OwnGraphic(){
		f = new JFrame("Bewegung");
		f.setSize(400, 200);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.add(this);
		f.setVisible(true);
	}

	public void paintComponent(Graphics g){
		a = 10;
		b = 10;

		g.fillRect(a, b, a + 50, b + 50);
	}

	public static void main(String[] args){
		new OwnGraphic();
	}
	
}
```


----------



## Scratchy (21. Jun 2014)

Vielen Dank


----------

