Swing Beim Drag & Drop, Drag verbieten?!

ElJarno

Bekanntes Mitglied
Hi Leute,
Grundlage meines Drag and Drops ist eine Tree. In diesem Beitrag sieht man einen Teil des Codes:
http://www.java-forum.org/awt-swing-swt/106506-jtree-autoscroll-drag-drop.html

Funktioniert mittleiweile alles Super. Jetzt möchte ich nun nur noch dass unter bestimmte Bedinungen welche bei folgender Methode false zurückliefert:
Java:
		private boolean isDropAllowed(TreePath sourcePath, TreePath targetPath) {
			if (targetPath.equals(sourcePath.getParentPath())
					|| sourcePath.isDescendant(targetPath)) {
				return false;
			}
			return true;
		}
dass der Curser sich in dieses Verbotszeichen wandelt, welches dann erscheint wenn der Drag nicht möglich ist, z.B. außerhalb des Treebereiches. Also was genau muss ich implementieren oder überschreiben damit der drag auch unter den obene beschriebenen Bedingungen abgelehnt wird.

Gruß Jan
 
Oke,
habs mal so gelöst in der DropTargetListener Klasse:
Java:
		@Override
		public void dragOver(DropTargetDragEvent dtde) {
			TreePath targetPath = treeKostenArten.getClosestPathForLocation(
					(int) dtde.getLocation().getX(), (int) dtde.getLocation()
							.getY());
			if (!isDropAllowed(selectionPath, targetPath))
				dtde.acceptDrag(DnDConstants.ACTION_NONE);

Funktioniert auf jeden fall. Falls es was besseres gibt postet trotzdem mal bitte.

Gruß Jan
 

Zurück
Oben