# Wie bringt man ein Quadrat in ein Frame??



## Waxe (30. Mai 2009)

Die Klasse Square ist ja in BlueJ bei den examples/shapes schon vorprogrammiert und man kann dann mit "new Square()' ein neues Quadrat erstellen. Aber was muss ich dann schreiben, damit ich dieses Quadrat in ein Frame einfügen kann??

```
f = new Frame ("XXX");
        f.setSize(600, 400);
        f.setLocation(0,30);
        f.setBackground(new Color(123, 123, 123));
        f.setVisible(true);
        f.setLayout(null);

        //Und jetzt der Versuch, ein Quadrat zu bauen
        sq = new Square();
        sq.makeVisible();
        sq.changeSize(35);
        sq.changeColor("blue");
```

Denn mit "f.add(sq);" funktionierts nicht!!

Bitte helfen....


----------



## Dragonfire (30. Mai 2009)

BlueJ ist ein Editor oO

Und mein BlueJ hat die Klasse Square nicht.

Sind oben vielleicht irgendwelche import-Anweisungen
oder existiert die Klasse Square schon in deinem Projekt?


----------



## Waxe (30. Mai 2009)

ja die existiert da schon. Die beiden Klassen stehen in einer uses-Relation, halt die mit dem gestricheltem Pfeil

```
import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.*;
import javax.swing.*;

class XYXYXY
{
    Frame f;
    Square sq;
```


----------



## Dragonfire (30. Mai 2009)

Ok,
dann müsstest du einmal die Klasse Square posten,
ich vermute mal das die Klasse nur Informationen über das Quadrat hält.

Wäre es so,
dann müsstest du selbst zeichnen 

Lies dir dazu am besten folgendes Tutorial durch:

http://www.java-forum.org/awt-swing-swt/43939-zeichnen-schnittstelle-fuer-gui-programmierung-tutorial.html#post272862

Nimm bitte nicht die klasse Canvans die von BlueJ bereit gestellt wird ...

PS.: Den import von java.util.List kannst du dir sparen, wenn du das gesamte java.util Paket importiert. Ich würde aber in der finalen Version das Sternchen entfernen und nur die Klasse importieren, die du brauchst


----------



## Waxe (18. Jun 2009)

Wie kann man denn mal ganz generell eine andere Klasse so in die Oberklasse einfügen, dass sie beiispielsweise auf ein Frame eingebaut werden kann.
mit f.add("Unterklasse"); funktionierts nicht...


----------



## Schandro (18. Jun 2009)

Dazu hast du bereits einen anderen Thread eröffnet...


----------

