Hallo,
ich habe ein JPanel. in dem befinden sich mehrere Komponenten (JButton, JTextFiield, JList, JTextArea,…)
Nun möchte ich aus einer Komponente (der JList) per Drag-And-Drop einzelne Elemente in die JTextArea ziehen.
Zuerst habe ich setDragEnabled(true) auf die List gesetzt. Damit konnte ich draggen and droppen. Allerdings gab es dort 2 Probleme:
- Ich musste immer zuerst einem das Element anklicken und danach konnte ich erst drag auf das markierte Element machen (Dazu hab ich mir überlegt, statt der JList einfach ein JScrollPane zu nehmen und da x JLabels reinzupacken - oder gibt es eine Lösung mit der JList?)
- Ich kann die Elemente in alle Felder ziehen. Wie kann ich denn „sagen“, dass DaD nur zu der JTextArea möglich sein soll?
Ich habe mir nen DropTargetListener geschrieben und prüfe dort in der Methode „dragOver“ was es für ne Komponente ist und mache bei Bedarf ein „rejectDrag“. Das würde aber bedeuten, dass ich für jede Komponente bei der KEIN DaD möglich sein darf trotzdem n DropTarget machen müsste.
Btw…
Mit dem DropTarget geht die Maus zwar über die TextArea, aber wir schaffe ich es dann punktgenau in den Text das Drop?
Ohne das DropTarget hat Java ganz chic markirt wo ich im Text war und hat es genau da auch eingefügt…
Vielen Dank Im Voraus für Hilfen Beim DaD - hoffe bei mir klärt sich diese Thematik bald…