I am using the Infonode docking windows system (http://www.infonode.net - mentioned in RT-14286) to embed JavaFX controls in Swing-based docking windows.
Closing a tab window often causes the following exception to be thrown:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javafx.embed.swing.JFXPanel$HostContainer$1.run(JFXPanel.java:741)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
...
The attached NetBeans project reproduces this exception. You will need the Infonode jar file from
http://sourceforge.net/projects/infonode/files/InfoNode%20Docking%20Windows/1.6.1/idw-gpl-1.6.1.zip/download
To have the exception thrown, simply close a tab window by clicking the close button on the tab. (Clicking the close button on a tab group works fine.)
The results of other select actions are:
1. Move one tab window into the other group then close either tab -> NPE
2. Undock one tab window, dock back into window, then close either. -> NPE
3. Undock one tab window, dock back into window, then close app. -> no problems
4. Click recreate layout (which closes all individual tab windows) with tab windows open -> NPE
5. Click recreate layout (which closes all individual tab windows) with no tab windows open -> no problems
The type of JavaFX control used does seem to make a difference. Since the source code of JFXPanel is not available, I am guessing that JFXPanel expects to have some kind of parent container available that is not.
Closing a tab window often causes the following exception to be thrown:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javafx.embed.swing.JFXPanel$HostContainer$1.run(JFXPanel.java:741)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
...
The attached NetBeans project reproduces this exception. You will need the Infonode jar file from
http://sourceforge.net/projects/infonode/files/InfoNode%20Docking%20Windows/1.6.1/idw-gpl-1.6.1.zip/download
To have the exception thrown, simply close a tab window by clicking the close button on the tab. (Clicking the close button on a tab group works fine.)
The results of other select actions are:
1. Move one tab window into the other group then close either tab -> NPE
2. Undock one tab window, dock back into window, then close either. -> NPE
3. Undock one tab window, dock back into window, then close app. -> no problems
4. Click recreate layout (which closes all individual tab windows) with tab windows open -> NPE
5. Click recreate layout (which closes all individual tab windows) with no tab windows open -> no problems
The type of JavaFX control used does seem to make a difference. Since the source code of JFXPanel is not available, I am guessing that JFXPanel expects to have some kind of parent container available that is not.