Today's demo puts a drag image on each of the displayed drag-enabled components, and does so without modifying the original jar file. It also does so without any special knowledge of the components that are drag enabled. (Web start doesn't let you reference a file on another host, so you'll have to trust me when I say the original jar is used unmodified).
A few sights to take in after you've checked that "Turn on Drag and Drop" checkbox.
- Try a drag from each component.
- Try dragging a multiple, discontiguous selection from each component.
- Watch what happens when your drop is rejected.
- Move the main window, and drag some more. Notice the nice images across both windows (the original
main
has simply been called twice).
Source Here.
The technique depends on all drag sources to use the default DragSource as the drag initiator. To date, all drags implemented within the JRE use the default, as do all the drag & drop examples I've seen on the web, so it always works in practice.
The global drag source listener technique used here could also be used to automatically switch the visible tab in a JTabbedPane, expand a node in a JTree, or even autoscroll components that don't implement Autoscroll. Watch for an upcoming article to address those options.
7 comments:
Very very cool!
Why not commit this to swinglabs, as well as some of your other goodies?
I tried download the sources but I get:
3. Error notes: File does not exist: /home/groups/a/ab/abbot/htdocs/demo/SwingDragImages-src.jar
It's there now, please try again.
Very nice,
I have done very little stuff with
drag and drop and perhaps this is
possible but.. when dragging something
over a JTabbedPane's tab I would like
it to open up this tab. Is this
possible in Swing DnD or would one
have to do custom tweaking?
See addendum to the article.
If tried it and it works pretty nice but I get excessive drag icon flickering. Any idea what the problem could be?
the drag image does not work for applets ,please let me know what changes i can make to make it run for applets as well , i will really appreaciate the help. my email id is-> daljeet.gandhi"at"gmail.com
Post a Comment