Exception in one JFXPanel kills other JFXPanels, too

Werner Lehmann lehmann at media-interactive.de
Tue Aug 13 03:32:42 PDT 2013


I have noticed the following problem with exception handling and 
multiple JFXPanels (FX 2.2):

1. Two JFXPanels, J1 and J2
2. Throw NPE in layoutChildren of a control inside J1

This would print a stacktrace (see below). Then J2 is blocked: mouse 
clicks have no effect anymore. I think I have seen something similar 
with invalid FXML but did not check again now. On the other hand, if a 
button action-event handler throws an exception everything is fine: 
stacktrace is printed but the JFXPanels stay alive.

What is the deal here? When are exceptions "lethal", and what can I do 
to protect against this, preferably without adding a try..catch to each 
layoutChildren (and whereever else this might be needed)...


> java.lang.NullPointerException: kaboom
> 	at mint.javafx.scene.layout.designerpane.MintDesignerPane.layoutChildren(MintDesignerPane.java:192)
> 	at javafx.scene.Parent.layout(Parent.java:1018)
> 	at javafx.scene.Parent.layout(Parent.java:1028)
> 	at javafx.scene.Scene.layoutDirtyRoots(Scene.java:513)
> 	at javafx.scene.Scene.doLayoutPass(Scene.java:484)
> 	at javafx.scene.Scene.access$3900(Scene.java:169)
> 	at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2199)
> 	at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:363)
> 	at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:460)
> 	at com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:329)
> 	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
> 	at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
> 	at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
> 	at java.lang.Thread.run(Unknown Source)

More information about the openjfx-dev mailing list