Mehrere Rechtecke in großes Quadrat einzeichnen

Narooma

Mitglied
Mein Problem wurde schon einmal vor ein paar Jahren gestellt (http://www.java-forum.org/thema/rechtecke-zeichnen-anhand-von-matrix.95136/). Leider helfen mir die Anworten nicht weiter, da ich einfach nicht den Durchblick dafür habe. (Das Tutorial http://www.java-forum.org/thema/zeichnen-in-swing-tutorial.43939/ habe ich mir auch angetan, aber es ist zu viel auf einmal.)

Wie der Titel schon sagt, geht es darum, mehrere Rechtecke in ein großes Quadrat einzuzeichnen. Die Seitenlängen und Positionen der Rechtecke wurden vorher berechnet und sind in Arrays abgespeichert. Am Ende des Programms (der main-methode) soll nun das Ergebnis visualisiert werden, d.h. in einem Fenster die Anordnung der Rechtecke grafisch ausgegeben werden.

Könnt ihr mir vielleicht einen Weg beschreiben, wie man das gewünschte Resultat erreichen kann? Ich hoffe, ich kann dann die Vorgehensweise nachvollziehen und umsetzen, aber mir fehlen einfach die nötigen Schritte und Methoden dazu. Dieser Erfolg würde bestimmt ein besseres Verständnis motivieren, danke 🙂
 
Für mich hört sich das so an als ob die Position und Größen der Recktecke schon bekannt sind. Daher kann ich kein Problem erkennen -> zeichne einfach jedes abgespeichert Reckteck an der berechneten Position in richtiger Größe.
 
Zeichnen wir erst mal ein einziges Rechteck 🙁 Man macht doch bestimmt erst mit JFrame ein Fenster. Und wie genau kann man dann in dieses Fenster ein Rechteck einzeichnen?
 
Ok das heißt dein Problem liegt grundsätzlich beim Zeichnen von etwas auf ein JPanel oder ähnliches.

Hier ein paar simple Beispiele:
http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/DrawRectangle.htm
http://www.tutorialspoint.com/javaexamples/gui_solid.htm
http://stackoverflow.com/questions/...-with-black-color-function-in-java-for-a-grid

Und in Kombination mit dieser Seite kannst du noch andere Sachen zeichnen:
https://docs.oracle.com/javase/tutorial/2d/geometry/primitives.html

Ich bin selbst kein Experte was das Zeichnen auf einem JPanel angeht, aber du musst darauf aufpassen welche Methode du überschreibst usw. 😉 (aber dazu finden sich genug Threads in diesem Forum)
 
Nehmen wir mal das Beispiel aus dem ersten Link. Muss man jetzt die Methode "paint" überschreiben, damit genau die Rechtecke gezeichnet werden, die man will? Weil sonst verstehe ich nicht, wie ich das ganze richtig aufrufen soll 😕

EDIT: Ahh okay, ich denke ich hab's, wenn ich einen richtigen Konstruktor hinzufüge und dann immer die Arrays mitübergebe.
Danke 🙂
 
Zuletzt bearbeitet:
Beispiel 1.Link: Nimm einfach mal den Code kopiere ihn und starte die Anwendung und probiere was passiert.

Durch den "setVisible(true)" Aufruf auf ein JFrame Objekt wird das JFrame und alle Kindkomponenten gezeichnet. Dazu wird die entsprechende "paint" Methode aufgerufen.
 

Neue Themen


Zurück
Oben