NetBeans插件-在Swing TopComponent中嵌入JavaFX,然后最大化

NetBeans插件-在Swing TopComponent中嵌入JavaFX,然后最大化,swing,api,netbeans,javafx,netbeans-plugins,Swing,Api,Netbeans,Javafx,Netbeans Plugins,我正在编写一个需要一些图表的NetBeans插件。当我将JavaFX图表嵌入TopComponent时,我看到一个NullPointer异常。当我最大化我为插件创建的任何其他TopComponent时,我会看到以下异常: java.lang.NullPointerException at javafx.embed.swing.JFXPanel$HostContainer$1.run(Unknown Source) at java.awt.event.InvocationEvent.d

我正在编写一个需要一些图表的NetBeans插件。当我将JavaFX图表嵌入TopComponent时,我看到一个NullPointer异常。当我最大化我为插件创建的任何其他TopComponent时,我会看到以下异常:

java.lang.NullPointerException
   at javafx.embed.swing.JFXPanel$HostContainer$1.run(Unknown Source)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
   at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
插件仍然在运行,除了出现这个异常之外,似乎没有其他错误。TopComponent已注册到

@TopComponent.Registration(mode = "commonpalette", openAtStartup = true)
和持久性类型 persistenceType=TopComponent.PERSISTENCE\u从不

我正在使用创建图表

Platform.setImplicitExit(false);
Platform.runLater(new Runnable() {
        @Override
        public void run() {
            //creating scene here <other code>
            myPanel.setScene(scene);
        }
   });
如果这也是值得注意的,我也经常看到这个错误

Dangerous reflection access to sun.misc.SharedSecrets by class com.sun.javafx.tk.quantum.QuantumToolkit$17 detected!
code location: jar:file:/C:/<my_plugin>/build/cluster/modules/ext/jfxrt.jar!/
检测到com.sun.javafx.tk.quantum.QuantumToolkit$17类对sun.misc.SharedSecrets的危险反射访问! 代码位置:jar:file:/C://build/cluster/modules/ext/jfxrt.jar/ 但是有人认为我可以忽略这一点

以前有没有其他人遇到过这种情况,或者可以看出哪里出了问题?我尝试过其他布局,检测JavaFX面板何时被移除,还没有找到解决方案。如有任何建议,将不胜感激:)

作为参考,我的JavaFX版本是2.2.45,NetBeans IDE是最新的


感谢

最终解决了这个问题,它涉及到监听topcomponent的jpanel何时变为空,然后删除javafx面板,稍后在显示时读取。

如果您添加了更多细节,您的答案将更有帮助。正如你的问题很详细一样,我想你的回答应该很详细
Dangerous reflection access to sun.misc.SharedSecrets by class com.sun.javafx.tk.quantum.QuantumToolkit$17 detected!
code location: jar:file:/C:/<my_plugin>/build/cluster/modules/ext/jfxrt.jar!/