Koordinaten JList darstellen

feldmarv

Mitglied
Hallo Java-Forum

Ich arbeite an einem Zeichnungsprogramm. Einige von hier konnten mir bereits weiterhelfen. Bezüglich meinen Fragem zum Zeichnugsprogramm.
Das Programm funktioniert soweit einwandfrei. Ich möchte aber nun eine weitere Funktion einbauen:

Immer wenn ich ein Objekt mit der Maus zeichne, werden die Koordinaten in einer ArrayList abgespeichert. Ich möchte die ArrayList auf einem separaten Fenster darstellen. Da soll der Benutzer dann selber Objekte löschen können.
Nun meine Frage, wie löse ich diese Problem am effizientesten. Ich habe bereits ein neues Fenster instanziert, und darauf auch verschiedene JListen angewendet. Aber ich benötige noch ein paar Tipps um meine Funktion umzusetzen...

Vielen Dank für eure Hilfe.
 
Zuletzt bearbeitet:
How to Use Lists (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
Wenn du einen Vector und keine ArrayList hättest, könntest du einfach
Java:
JList list=new JList(myVector);
schreiben. Aber
Java:
JList list=new JList(myArrayList.toArray());
sollte funktionieren.

Die Frage ob das ganze Funktioniert ist aber, welche Objekte in deiner ArrayList liegen. Schreibst du da Points rein und arbeitest immer 4 ab, speicherst du Shape-Objekte oder hast du dir eine Wrapperklasse für deine Formen geschrieben? Je nachdem müsstest du die Daten dann nämlich vorher umwandeln, oder im Fall einer Wrapperklasse toString() sauber überschreiben.
 
How to Use Lists (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
Wenn du einen Vector und keine ArrayList hättest, könntest du einfach
Java:
JList list=new JList(myVector);
schreiben. Aber
Java:
JList list=new JList(myArrayList.toArray());
sollte funktionieren.

Die Frage ob das ganze Funktioniert ist aber, welche Objekte in deiner ArrayList liegen. Schreibst du da Points rein und arbeitest immer 4 ab, speicherst du Shape-Objekte oder hast du dir eine Wrapperklasse für deine Formen geschrieben? Je nachdem müsstest du die Daten dann nämlich vorher umwandeln, oder im Fall einer Wrapperklasse toString() sauber überschreiben.

Vielen Dank für den ersten Tipp. Es hat zum ersten geklapp. Jedoch musste ich die Arraylist<Vector>
auf "static" ändern, da sie in einer anderen Klasse ist. Hier im Forum habe ich einmal gelesen, dass dies nicht sehr nützlich ist? ist das richtig?

Java:
JList objektliste = new JList(Painter.objekte.toArray());
 
Ich habe bei der JList eigentlich immer direkt die ArrayList benutzt, wozu soll denn das toArray() gut sein?
Geht doch meines Wissens auch mit Collections.

Gruß Vanny
 
Die Frage ist nun wie mache ich, dass sich die Liste Automatisch aktualisiert. Ich habe von einem Listmodel gelesen. Kann ich einem Listmodel die Liste automatisch aktulisieren lassen? Sprich wie erstelle ich einfach ein Listmodel. Die Anleitung von Oracle ist etwas anlogisch.
 

Zurück
Oben