Ok, I see.

This is the problem in FX interop. In 
javafx.embed.swing.SwingDnD.DnDTransferable class. It's wrapper that wraps the 
FX dragboard into the Swing Trasferable.
It is a simple class and many features are simply not implemented. The 
implementation is very basic - it just creates the DataFlavor with the 
mime-type corresponding to the DataFormat mime-type. However it does not take 
into account the representation class. This works fine for basic types like 
text or may be image, but it completely does not work for custom types with 
custom representation classes.

You could file a bug for this.

With best regards. Petr.

On 17.03.2014, at 13:39, Sven Reimers <sven.reim...@gmail.com> wrote:

> The problem seems to be in AbstractDragSource in SceneBuilder. It defines a 
> javafx.scene.input.DataFormat. 
> This seems to cause problems if running embedded in Swing. I do not define my 
> own DataFlavors..
> 
> Any further help appreciated..
> 
> -Sven
> 
> Am 17.03.2014 09:54 schrieb "Petr Pchelko" <petr.pche...@oracle.com>:
> Hello, Sven.
> 
> Looks like you are not specifying the representation class for the DataFlavor 
> and it defaults
> to the InputStream. So, scene builder puts a ByteBuffer while the 
> DataTransferer is trying to treat it as an
> InputStream.
> 
> Could you please try to explicitly specify the representation class in the 
> DataFlavor you are trying to put?
> Like this: new DataFlavor("scene.builder/internal; 
> class=java.nio.HeapByteBuffer", "SceneBuilder internal DF"")
> 
> With best regards. Petr.
> 
> On 17.03.2014, at 0:13, Sven Reimers <sven.reim...@gmail.com> wrote:
> 
> > Ok... figured it out. It seems scene.builder.internal crashes the Swing
> > parsing mechanism for mime types in the data transfer. Changing it to
> > scene.builder/internal fixes this problem.
> >
> > Shall I open an issue in Jira for it?
> >
> > Having fixed this I get another problem :-(
> > (see stacktrace below)
> >
> > Not sure how to fix this... investigating now.
> >
> > -Sven
> >
> > java.lang.ClassCastException: java.nio.HeapByteBuffer cannot be cast to
> > java.io.InputStream
> > at
> > sun.awt.datatransfer.DataTransferer.translateTransferable(DataTransferer.java:1372)
> > at
> > sun.lwawt.macosx.CDataTransferer.translateTransferable(CDataTransferer.java:131)
> > at sun.awt.datatransfer.DataTransferer$6.run(DataTransferer.java:2380)
> > at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
> > at java.awt.EventQueue.access$400(EventQueue.java:97)
> > at java.awt.EventQueue$3.run(EventQueue.java:697)
> > at java.awt.EventQueue$3.run(EventQueue.java:691)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> > at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
> > at java.awt.EventQueue$4.run(EventQueue.java:719)
> > at java.awt.EventQueue$4.run(EventQueue.java:717)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> > java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> > at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
> > at
> > org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
> > at
> > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
> > at
> > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
> > at
> > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
> > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
> > at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
> >
> >
> > On Sun, Mar 16, 2014 at 8:30 PM, Sven Reimers <sven.reim...@gmail.com>wrote:
> >
> >> Hi guys,
> >>
> >> hope someone can help me with the exception pasted below.
> >>
> >> Any idea how to go on from here?
> >>
> >> The code is available at https://bitbucket.org/sreimers/nbscenebuilder/
> >>
> >> Thanks
> >>
> >> -Sven
> >>
> >> java.lang.IllegalArgumentException: failed to parse:scene.builder.internal
> >> at java.awt.datatransfer.DataFlavor.<init>(DataFlavor.java:488)
> >> at
> >> javafx.embed.swing.SwingDnD$DnDTransferable.getTransferDataFlavors(SwingDnD.java:398)
> >> at
> >> sun.awt.datatransfer.DataTransferer.getFormatsForTransferable(DataTransferer.java:655)
> >> at
> >> sun.awt.dnd.SunDragSourceContextPeer.startDrag(SunDragSourceContextPeer.java:131)
> >> at
> >> sun.lwawt.macosx.CDragSourceContextPeer.startDrag(CDragSourceContextPeer.java:88)
> >> at java.awt.dnd.DragSource.startDrag(DragSource.java:321)
> >> at java.awt.dnd.DragSource.startDrag(DragSource.java:426)
> >> at java.awt.dnd.DragGestureEvent.startDrag(DragGestureEvent.java:237)
> >> at javafx.embed.swing.SwingDnD.startDrag(SwingDnD.java:284)
> >> at javafx.embed.swing.SwingDnD.access$1000(SwingDnD.java:73)
> >> at javafx.embed.swing.SwingDnD$4$1.run(SwingDnD.java:249)
> >> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
> >> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
> >> at java.awt.EventQueue.access$400(EventQueue.java:97)
> >> at java.awt.EventQueue$3.run(EventQueue.java:697)
> >> at java.awt.EventQueue$3.run(EventQueue.java:691)
> >> at java.security.AccessController.doPrivileged(Native Method)
> >> at
> >> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
> >> at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
> >> at
> >> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
> >> [catch] at
> >> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
> >> at
> >> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
> >> at
> >> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
> >> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
> >> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
> >> at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
> >>
> >> --
> >> Sven Reimers
> >>
> >> * Senior Expert Software Architect
> >> * NetBeans Dream Team Member: http://dreamteam.netbeans.org
> >> * Community Leader  NetBeans: http://community.java.net/netbeans
> >>                              Desktop Java:
> >> http://community.java.net/javadesktop
> >> * JUG Leader JUG Bodensee: http://www.jug-bodensee.de
> >> * Duke's Choice Award Winner 2009
> >> * Blog: https://www.java.net//blog/sven
> >>
> >> * XING: https://www.xing.com/profile/Sven_Reimers8
> >> * LinkedIn: http://www.linkedin.com/in/svenreimers
> >>
> >> Join the NetBeans Groups:
> >> * XING: http://www.xing.com/group-20148.82db20
> >> * NUGM: http://haug-server.dyndns.org/display/NUGM/Home
> >> * LinkedIn: http://www.linkedin.com/groups?gid=1860468
> >>                   http://www.linkedin.com/groups?gid=107402
> >>                   http://www.linkedin.com/groups?gid=1684717
> >> * Oracle: https://mix.oracle.com/groups/18497
> >>
> >
> >
> >
> > --
> > Sven Reimers
> >
> > * Senior Expert Software Architect
> > * NetBeans Dream Team Member: http://dreamteam.netbeans.org
> > * Community Leader  NetBeans: http://community.java.net/netbeans
> >                              Desktop Java:
> > http://community.java.net/javadesktop
> > * JUG Leader JUG Bodensee: http://www.jug-bodensee.de
> > * Duke's Choice Award Winner 2009
> > * Blog: https://www.java.net//blog/sven
> >
> > * XING: https://www.xing.com/profile/Sven_Reimers8
> > * LinkedIn: http://www.linkedin.com/in/svenreimers
> >
> > Join the NetBeans Groups:
> > * XING: http://www.xing.com/group-20148.82db20
> > * NUGM: http://haug-server.dyndns.org/display/NUGM/Home
> > * LinkedIn: http://www.linkedin.com/groups?gid=1860468
> >                   http://www.linkedin.com/groups?gid=107402
> >                   http://www.linkedin.com/groups?gid=1684717
> > * Oracle: https://mix.oracle.com/groups/18497
> 

Reply via email to