Drag&Drop bei TreeViewer

Status
Nicht offen für weitere Antworten.

sutcha

Bekanntes Mitglied
Ich benutze den JFace TreeViewer und möchte die Items in dem Baum via Drag&Drop verschieben. Hat jemand damit Erfahrung? Ich habe nur sehr wenig Erfahrung mit Drag&Drop und habe es bisher nur mit Labels gemacht. Kennt jemand gute Seiten, bei denen es ein bisschen erklärt wird?
Vielen Dank schonmal!
 

sutcha

Bekanntes Mitglied
Vielen Dank, schau ich mir gleich an!
Ich hab gestern bei Google nichts vernünftiges gefunden, hab wohl falsch gesucht...
 

sutcha

Bekanntes Mitglied
diese Beispiel ist ja nicht ganz so trivial ;) Ich habe bereits mit Labels gearbeitet, aber da habe ich nur den Text "verschoben", also von ein label zum anderen.
Jedes Item im Baum entspricht einem Obejkt und ich möchte dort nur eine ID durch den Drop verändern. Momentan habe ich aber ein bisschen Probleme mit den Transfer-Typen. Kann mir da jemand helfen?
 

sutcha

Bekanntes Mitglied
Wie bekomme ich denn das Element, auf das ich mein anderes Element ziehe? Also quasi das Target?

Code:
 private void createDragSource(final TreeViewer viewer) {
		
	    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
	    DragSource dragSource = new DragSource(viewer.getTree(), DND.DROP_MOVE);
	    dragSource.setTransfer(types);
	    dragSource.addDragListener(new DragSourceListener() {

	      public void dragStart(DragSourceEvent event) {
	      }

	      public void dragSetData(DragSourceEvent event) {
	    	  IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
	    	  event.data = ((Element) selection.getFirstElement()).attributeValue("id");	        
	      }

	      public void dragFinished(DragSourceEvent event) {
	      }
	    });
	  }

So schaut meine Source aus und beim Target habe ich Probleme. Dort gibt es ja keine neue Selection, das heißt ich kann nicht analog vorgehen.
Ich will bei dem DND-Vorgang die ID der Source und des Targets bekommen, weil ich eine Methode habe, die dann weiter arbeitet. Momentan komme ich nicht an die Target ID. Ich brauche nicht die gesamte Funktionalität der DND, daher verwende ich nicht das Gadget.

Kann mir jemand helfen?
 

sutcha

Bekanntes Mitglied
Da mir bisher niemand helfen konnte und scheinbar kaum jemand Ahnung von Drag&Drop bei SWT hat, wollte ich das Gadget-Beispiel mal verwenden. Das Problem dabei ist, dass mir ein paar Dependencies fehlen wie z.B. org.eclipse.core.* oder org.eclipse.ui.*
Woher bekomme ich diese Dependencies? Ich habe versucht in meiner pom.xml einzubinden, aber das funktioniert nicht richtig. Wie bekomme ich die sonst her?
 

Wildcard

Top Contributor
event.data = ((Element) selection.getFirstElement()).attributeValue("id");
Bei TextTransfer kannst du nicht einfach irgendwelche Objekte verschicken. Das muss schon Text sein.
Das Problem dabei ist, dass mir ein paar Dependencies fehlen wie z.B. org.eclipse.core.* oder org.eclipse.ui.*
Das macht nur sinn wenn du eine Eclipse RCP hast. Bei Standalone SWT möchtest du diese Klassen nicht verwenden.
Hast du dir den verlinkten SWT only Artikel angesehen?
http://www.eclipse.org/articles/Article-SWT-DND/DND-in-SWT.html
 

sutcha

Bekanntes Mitglied
Ja, ich habe auch schon mit Drag&Drop gearbeitet, allerdings nur TextTransfer.
Bei dem TreeViewer würde ich gerne die ID des Elementes, das hinter jedem Tree-Element steckt, als String bzw. Text verschieben.
Leider verstehe ich nicht alles, was hinter dem Gadget steckt bzw. bei RCP.
 

Wildcard

Top Contributor
Ja, ich habe auch schon mit Drag&Drop gearbeitet, allerdings nur TextTransfer.
Bei dem TreeViewer würde ich gerne die ID des Elementes, das hinter jedem Tree-Element steckt, als String bzw. Text verschieben.
Na also, wenn du schon mit TextTransfer gearbeitet hast, verstehe ich dein Problem nicht.
Leider verstehe ich nicht alles, was hinter dem Gadget steckt bzw. bei RCP.
Hast du nun eine RCP, oder nicht?
 

sutcha

Bekanntes Mitglied
Nein, ich weiß auch nur ungefähr, was RCP ist. Habe noch nie damit gearbeitet. Momentan habe ich Eclipse EE mit einigen Plugins installiert.
Ich hätte gedacht, das ich mein Problem leichter lösen kann ohne mich zu sehr in das Drag&Drop einzuarbeiten.

Mein Problem mit dem TextTransfer ist, dass ich meine Quelle nicht zum Ziel verschieben will, sondern dass ich die gleiche Information, die ich aus der Quelle nutze, auch aus dem Ziel herausnehmen will.

A (ID = 1) ist die Quelle und B (ID = 5) ist das "Ziel". Nun möchte ich quasi die ID von A zwischenspeichern und die ID von B nach dem Drop bekommen.
Ansonsten muss ich wirklich das Tree-Item verschieben, was ich momentan nicht ganz verstehe bzw. wofür ich dann dieses Gadget-Beispiel verwenden würde.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F SWT Drag and Drop im TreeViewer AWT, Swing, JavaFX & SWT 4
V SWT TreeViewer Drag'n'Drop LocalSelectionTransfer AWT, Swing, JavaFX & SWT 10
A JavaFX JavaFX images per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 1
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
G JPanel per Drag and Drop JButtons und Bilder ablegen AWT, Swing, JavaFX & SWT 1
AmsananKING ListView Drag And Drop AWT, Swing, JavaFX & SWT 0
AmsananKING Drag And Drop Filenames Inside A Listview AWT, Swing, JavaFX & SWT 1
DonBronson Java Graphics bewegbar machen (Drag&Drop) AWT, Swing, JavaFX & SWT 3
M Polygon per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 26
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
F Drag&Drop mit Transparenter Farbe bei PNG AWT, Swing, JavaFX & SWT 0
D JavaFX Pane per Drag&Drop bewegen? AWT, Swing, JavaFX & SWT 2
L JavaFX Drag and Drop funktioniert nicht AWT, Swing, JavaFX & SWT 3
J Drag and Drop von eigenen Objekten AWT, Swing, JavaFX & SWT 3
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
T Swing Drag and Drop für JComponents AWT, Swing, JavaFX & SWT 1
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
F Drag und Drop AWT, Swing, JavaFX & SWT 0
L JavaFX JavaFX Chart Drag and Drop AWT, Swing, JavaFX & SWT 3
D JavaFX Drag&Drop mehrerer TreeViews oder TableViews AWT, Swing, JavaFX & SWT 1
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
U Drag and Drop mit imageview AWT, Swing, JavaFX & SWT 0
U Drag and Drop imageviews AWT, Swing, JavaFX & SWT 8
D SteelSeries in Netbeans als Drag-and-Drop einbinden AWT, Swing, JavaFX & SWT 0
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
S Swing Suche Drag & Drop Beispiele AWT, Swing, JavaFX & SWT 1
A Drag and Drop mit JAVAFX- Scenebuilder AWT, Swing, JavaFX & SWT 1
R Performance Drag and Drop & Timer AWT, Swing, JavaFX & SWT 3
R Drag and Drop Problem auf Jpanel AWT, Swing, JavaFX & SWT 2
N Swing JTable und Drag und Drop AWT, Swing, JavaFX & SWT 2
A Drag and Drop eigener Objekte AWT, Swing, JavaFX & SWT 7
C Drag and Drop (inventar) AWT, Swing, JavaFX & SWT 15
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
T Swing JButton per Drag&Drop verschieben AWT, Swing, JavaFX & SWT 5
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
Iron Monkey Nach Drag & Drop die Datei auf Komponent darstellen AWT, Swing, JavaFX & SWT 2
M AWT Drag n Drop-Support für Component AWT, Swing, JavaFX & SWT 5
HaukeG Swing Drag & Drop in verschiedenen Varianten AWT, Swing, JavaFX & SWT 4
S Swing Drag&Drop mit TransferHandler und JPanels AWT, Swing, JavaFX & SWT 8
C Swing Simulation von Drag and Drop Events AWT, Swing, JavaFX & SWT 3
H Swing "Drag and Drop" eines JComponent über ein JPanel AWT, Swing, JavaFX & SWT 2
R Drag 'n Drop AWT, Swing, JavaFX & SWT 3
S Selektion bei Drag&Drop AWT, Swing, JavaFX & SWT 4
C Swing Drag and Drop mit Objekten in einem Fenster. AWT, Swing, JavaFX & SWT 9
T SWT Drag&Drop: Eclipse FileTransfer mit Icons AWT, Swing, JavaFX & SWT 14
F Drag & Drop durch Verbindungslinien AWT, Swing, JavaFX & SWT 10
T Swing Drag and Drop - JLabels tauschen statt überschreiben AWT, Swing, JavaFX & SWT 11
S Drag and Drop über 2 Panels AWT, Swing, JavaFX & SWT 2
K JButtons innerhalb eines JPanels verschieben (DRAG&DROP) AWT, Swing, JavaFX & SWT 5
B Drag and Drop AWT, Swing, JavaFX & SWT 6
K Drag and Drop Workbench AWT, Swing, JavaFX & SWT 2
P SWT Eclipse Draw2D Drag and Drop (ruckelt) AWT, Swing, JavaFX & SWT 4
B Swing Drag&Drop mit Feedback (Image am Mauszeiger) AWT, Swing, JavaFX & SWT 7
Spin JFrame/ Frame Drag and Drop AWT, Swing, JavaFX & SWT 13
A TransferHandler & Drag n' Drop AWT, Swing, JavaFX & SWT 2
R Drag an Drop JTable Zelle AWT, Swing, JavaFX & SWT 6
D Drag & Drop - node.isRoot AWT, Swing, JavaFX & SWT 3
E Swing Drag n Drop Verschieben von Labels o.ä. AWT, Swing, JavaFX & SWT 10
E Swing Beim Drag & Drop, Drag verbieten?! AWT, Swing, JavaFX & SWT 2
E JTree Autoscroll bei Drag and Drop AWT, Swing, JavaFX & SWT 4
F Swing Problem mit Drag&Drop in JTable AWT, Swing, JavaFX & SWT 4
C keine weiteren Events während Drag&Drop Operation möglich? AWT, Swing, JavaFX & SWT 5
E Drag&Drop zwischen 2 Listen AWT, Swing, JavaFX & SWT 5
0 Swing Drag n' Drop Bug wenn Source und Target gleiche Komponente? AWT, Swing, JavaFX & SWT 4
C Drag and Drop JPanel auf JPanel nach drop erneut verschieben? AWT, Swing, JavaFX & SWT 3
M Swing JTable Drag'n'Drop von Dateien AWT, Swing, JavaFX & SWT 3
M Drag and Drop: Quellfenster AWT, Swing, JavaFX & SWT 2
M Buttons per Drag & Drop im GridBagLayout verschieben AWT, Swing, JavaFX & SWT 6
M Swing JList > Drag & Drop AWT, Swing, JavaFX & SWT 2
C Drag an Drop vom JTree zur JTable AWT, Swing, JavaFX & SWT 4
Z Drag and Drop auf Application AWT, Swing, JavaFX & SWT 3
G Drag and Drop JTree to Canvas AWT, Swing, JavaFX & SWT 7
H Drag&Drop von JComponents AWT, Swing, JavaFX & SWT 6
G JTable drag and drop AWT, Swing, JavaFX & SWT 4
H Drag&Drop mit GWT AWT, Swing, JavaFX & SWT 8
B Swing Drag&Drop einzelner Zellen in einer JTable AWT, Swing, JavaFX & SWT 12
A Swing Drag and Drop TreeNode User Object AWT, Swing, JavaFX & SWT 3
P JList: Reihenfolge der Elemente per Drag'n'Drop ändern. AWT, Swing, JavaFX & SWT 9
K Swing Wie ändere ich die default action für Drag&Drop AWT, Swing, JavaFX & SWT 6
R JLayeredPane - Drag&Drop - mouseDragged AWT, Swing, JavaFX & SWT 6
C JTable mit RowSorter und Drag & Drop: Zeile verschieben AWT, Swing, JavaFX & SWT 4
R Swing JLayeredPane - Drag&Drop Positionen vertauschen AWT, Swing, JavaFX & SWT 3
F Drag & Drop mit eigenen Komponenten AWT, Swing, JavaFX & SWT 2
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
S Drag'n'Drop AWT, Swing, JavaFX & SWT 8
E Drag&Drop JTable; Renderer füllt alle Zellen AWT, Swing, JavaFX & SWT 10
M Drag & Drop in Swing (createTransferable) AWT, Swing, JavaFX & SWT 6
T Drag Quelle beim Drop AWT, Swing, JavaFX & SWT 6
A Drag & Drop von Zeilen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 2
E Drag & Drop von jTree in JList AWT, Swing, JavaFX & SWT 5
P Dateien per Drag&Drop ins Java-Fenster ziehen AWT, Swing, JavaFX & SWT 8
G JTree Node ggf. aufklappen bei Drag & Drop? AWT, Swing, JavaFX & SWT 7
J Drag'n Drop imm selben Frame unterbinden AWT, Swing, JavaFX & SWT 3
S Table Row per Drag and Drop in andere Table schieben? AWT, Swing, JavaFX & SWT 14
X wiedermal Drag n Drop AWT, Swing, JavaFX & SWT 2
P Drag & Drop AWT, Swing, JavaFX & SWT 2
X Drag and Drop AWT, Swing, JavaFX & SWT 2
F Drag&Drop Jlist -> JList AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben