Well, a day of fiddling has shown that it is partially broken in linux at least. My earlier scouring of Sun’s forums showed plenty of Windows users who apparently had bad problems as well, and responses along the lines of “…and this bit won’t work at all if you’re using Windows…” etc.
It mostly works, but e.g.
[] you cannot DRAG from swing components, especially e.g. JTree, because Sun hasn’t fully rationalized the competing DragGesture and MouseMotionListener stuff (apparently). This manifest as “you MUST select the item you want to drag, then let go of the button, then drag it” (paraphrased from Sun’s tutorials…)
[] Approx 1 time in 4 nothing happens (no exceptions, no errors, nothing) when you drop inside a Jtree. Try again straight away and it Just Works (or you may have to try a few times if you’re really unlucky). This - unsurprisingly - made my initial dev bloody difficult :).
[] Lots of “fun” trying to alter the cursors; allegedly on windows you still have to explicitly null the cursor before supplying a new one, and other shenanigans, although I haven’t confirmed this personally.
…but the “core” aspects seem to work fine. Presumably there’s a load of bugs extant on 1.4.x for dnd, so if they get (got) fixed for 1.5, all will be well. If not, it’s workable but looks darned shoddy :(.
Sigh. What with also trying to extract FileInputStream’s directly from a JAR it’s been a trying day (I tried to do it without using the URL stream classes because they irritate me; unfortunately URL is not compatible with URI in any way (the other way around, yes, although this is counter-intuitive), so you can’t send a resource URL to a File constructor.)