# Objekte anzeigen und verschieben - wie?



## Phnxx (29. Apr 2012)

Hey,

wie könnte ich folgendes realisieren? Ich brauch ein paar grundlegende Denkanstöße.


Ich habe eine GUI, unter anderem ein Panel das ich jetzt "Arbeitsfläche" nenne. Nun möchte ich auf dieser Gui verschiedene Objekte (zb Rechteck, Kreis, Dreieck) ablegen und möchte diese später verschieben und in der Größe verändern können.

Wie mache ich das am besten?



Meine Idee:
Ich erstelle eine Klasse für diese Objekte. In dieser Klasse speicher ich x und y Koordinate wo sich die Form befindet und dann noch eine Menge von Linien und Kreisen, die diese Form bilden (bei einem Rechteck wären das 4 Linien; diese könnte ich jeweils mit x,y,width und height speichern).



Ist diese Idee grundsätzlich brauchbar oder gibt es da bessere Ansätze?
Und vor allem: Wie krieg ich das auf den Workspace? Wie kann ich Linien und Kreise auf mein Panel malen? Gibt es eine gut geeignete Komponente dafür? Im Idealfall eine die scrollbar ist, sodass man quasi wie in Paint die Arbeitsfläche erweitern kann.


----------



## GUI-Programmer (29. Apr 2012)

Deine Idee ist schon nicht schlecht. Der grundlegende Gedanke sollte aber sein, dass deine Klasse für Objekte eine Zeichenmethode hat, die sozusagen des Objekt darstellt. Desweiteren wäre es sinnvoll, wenn deine Klasse von java.awt.geom.Shape erbt.

Ich glaube nicht, dass du das so einfach mal schnell hinbekommst, da du ja anscheinend kaum Erfahrung mit Swing bzw. dem Zeichnen hast. Daher kann ich dir als allerestes mal empfehlen das Zeichnen in Swing Tutorial und das KEIN Swing-Tutorial durchzuarbeiten und komplett zu verstehen. Denn Komponenten die sowas schon selbst können gibt es nunmal nicht. Folglich muss du auf einen JPanel alles selbst zeichnen.

[EDIT]
Wenn du vorerst mal aufs Verschieben und Größe ändern verzichten willst, kannst du dir auch mal "Figuren Zeichner" aus meiner Signatur anschauen.
[/EDIT]


----------



## Phnxx (29. Apr 2012)

Danke für die Antwort.

Der Figurenzeichner sieht grundsätzlich wie eine Grundlage von dem aus, was ich vorhabe. Worauf malst du da, ist das ein Panel oder eine andere Komponente?

Kann man direkt auf Panels malen oder sollte man sich eher sowas wie Canvas anschauen?


----------



## GUI-Programmer (29. Apr 2012)

Du hast es schon richtig erkannt - direkt auf einem JPanel! Kein Canvas, da AWT. Aber schau dir zuerst mal die beiden Links an - wenn du sie verstanden hast und umsetzten kannst steht dir zeichentechnisch erstmal nichts mehr im Weg.


----------



## theuserbl (29. Apr 2012)

GUI-Programmer hat gesagt.:


> Wenn du vorerst mal aufs Verschieben und Größe ändern verzichten willst, kannst du dir auch mal "Figuren Zeichner" aus meiner Signatur anschauen.



:question::question::question:

Wo ist auf Deiner Signatur ein Link zu einem Programm namens "Figuren Zeichner" ?

So sieht Dein Post bei mir aus:






Und der Link führt zu http://www.java-forum.org/hardware/132620-kleine-netbooks.html
Dort geht es um ein Netbook. NICHT um Dein Programm.

Unter
http://www.java-forum.org/spiele-multimedia-programmierung/131541-mapraster-frei-bewegen.html#post862463
schreibst Du ebenfalls:


> Schau dir mal Figuren Zeichner aus meiner Signatur an. Vieleicht hilft dir das auch weiter.



Schön, daß Du immer wieder Dein Programm erwähnst. Nur leider kann ich es nirgendwo finden. 

Grüße
theuserbl


----------



## GUI-Programmer (30. Apr 2012)

OK sorry, habe vor ner Stunde meine Signatur geändert, doch nur vorübergehend, steht aber auch dabei.

Hier der Link: Figuren Zeichner.jar


----------



## theuserbl (30. Apr 2012)

GUI-Programmer hat gesagt.:


> Hier der Link: Figuren Zeichner.jar



Thx.


----------

