SceneBuilder Integration in NetBeans

Sven Reimers sven.reimers at gmail.com
Mon Mar 17 10:25:49 UTC 2014


Ok.

Will file an issue and if possible create a patch.

Any this could end up in 8u20 (or earlier)?

Thanks

-Sven
Am 17.03.2014 11:05 schrieb "Petr Pchelko" <petr.pchelko at oracle.com>:

> 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.reimers at 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.pchelko at 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.reimers at 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.reimers at 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
>>
>>
>


More information about the openjfx-dev mailing list