Re: SceneBuilder Integration in NetBeans
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.comwrote: 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
Re: SceneBuilder Integration in NetBeans
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
Re: SceneBuilder Integration in NetBeans
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.comwrote: 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
Re: SceneBuilder Integration in NetBeans
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.pche...@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.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
Re: SceneBuilder Integration in NetBeans
Hi Sven, If you file the bug then yes, we can look at it for 8u20 (there is no earlier). And thanks to Petr for providing the evaluation for this. -- Kevin Sven Reimers wrote: 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.pche...@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.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
Re: SceneBuilder Integration in NetBeans
Created RT-36240 -Sven Am 17.03.2014 13:10 schrieb Kevin Rushforth kevin.rushfo...@oracle.com: Hi Sven, If you file the bug then yes, we can look at it for 8u20 (there is no earlier). And thanks to Petr for providing the evaluation for this. -- Kevin Sven Reimers wrote: 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.pche...@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.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
Re: SceneBuilder Integration in NetBeans
Hi Sven, As you mentioned, some fixes are also required at SB level (the strings passed to DataFormat). I'm going to file a JIRA against Scene Builder for that. I did a sample Swing test with Scene Builder Kit and reproduced the exception reported in RT-36240. However it seems that this exception does not prevent SB to complete its drag and drop gestures. Does it match what you've observed ? Cheers. Eric Le 17 mars 2014 à 14:49, Sven Reimers sven.reim...@gmail.com a écrit : Created RT-36240 -Sven Am 17.03.2014 13:10 schrieb Kevin Rushforth kevin.rushfo...@oracle.com: Hi Sven, If you file the bug then yes, we can look at it for 8u20 (there is no earlier). And thanks to Petr for providing the evaluation for this. -- Kevin Sven Reimers wrote: 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.pche...@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.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?
Re: SceneBuilder Integration in NetBeans
Yes, I can confirm everything looks ok.. but exceptions all over the place don't make feel comfortable... This is with fixed DataFormat String.. Thanks -Sven Am 17.03.2014 15:32 schrieb Eric Le Ponner eric.le.pon...@oracle.com: Hi Sven, As you mentioned, some fixes are also required at SB level (the strings passed to DataFormat). I'm going to file a JIRA against Scene Builder for that. I did a sample Swing test with Scene Builder Kit and reproduced the exception reported in RT-36240. However it seems that this exception does not prevent SB to complete its drag and drop gestures. Does it match what you've observed ? Cheers. Eric Le 17 mars 2014 à 14:49, Sven Reimers sven.reim...@gmail.com a écrit : Created RT-36240 -Sven Am 17.03.2014 13:10 schrieb Kevin Rushforth kevin.rushfo...@oracle.com: Hi Sven, If you file the bug then yes, we can look at it for 8u20 (there is no earlier). And thanks to Petr for providing the evaluation for this. -- Kevin Sven Reimers wrote: 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.pche...@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.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(
Re: SceneBuilder Integration in NetBeans
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.comwrote: 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