A DESCRIPTION OF THE PROBLEM :
I use TableView to display data from a database. Sometimes ( pretty often ) I get this exception.
I verified my code that I do all adding rows and columns on JavaFx thread.
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at javafx.scene.control.skin.TableCellSkin.tableColumnProperty(TableCellSkin.java:97)
at javafx.scene.control.skin.TableCellSkinBase.getTableColumn(TableCellSkinBase.java:123)
at javafx.scene.control.skin.TableCellSkinBase.dispose(TableCellSkinBase.java:136)
at javafx.scene.control.skin.TableCellSkin.dispose(TableCellSkin.java:88)
at javafx.scene.control.Control$2.invalidated(Control.java:267)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:147)
at javafx.css.StyleableObjectProperty.set(StyleableObjectProperty.java:82)
at javafx.scene.control.Control$2.set(Control.java:250)
at javafx.scene.control.Control$2.set(Control.java:233)
at javafx.scene.control.Control.setSkin(Control.java:230)
at javafx.scene.control.skin.TableRowSkinBase.recreateCells(TableRowSkinBase.java:715)
at javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:505)
at javafx.scene.control.skin.TableRowSkinBase.checkState(TableRowSkinBase.java:649)
at javafx.scene.control.skin.TableRowSkinBase.computePrefHeight(TableRowSkinBase.java:588)
at javafx.scene.control.Control.computePrefHeight(Control.java:570)
at javafx.scene.Parent.prefHeight(Parent.java:1033)
at javafx.scene.layout.Region.prefHeight(Region.java:1559)
at javafx.scene.Node.autosize(Node.java:3166)
at javafx.scene.Parent.layoutChildren(Parent.java:1237)
at javafx.scene.Group.layoutChildren(Group.java:238)
at javafx.scene.Parent.layout(Parent.java:1206)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Scene.doLayoutPass(Scene.java:576)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:562)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:542)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:535)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:341)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)
FREQUENCY : often
I use TableView to display data from a database. Sometimes ( pretty often ) I get this exception.
I verified my code that I do all adding rows and columns on JavaFx thread.
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at javafx.scene.control.skin.TableCellSkin.tableColumnProperty(TableCellSkin.java:97)
at javafx.scene.control.skin.TableCellSkinBase.getTableColumn(TableCellSkinBase.java:123)
at javafx.scene.control.skin.TableCellSkinBase.dispose(TableCellSkinBase.java:136)
at javafx.scene.control.skin.TableCellSkin.dispose(TableCellSkin.java:88)
at javafx.scene.control.Control$2.invalidated(Control.java:267)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:147)
at javafx.css.StyleableObjectProperty.set(StyleableObjectProperty.java:82)
at javafx.scene.control.Control$2.set(Control.java:250)
at javafx.scene.control.Control$2.set(Control.java:233)
at javafx.scene.control.Control.setSkin(Control.java:230)
at javafx.scene.control.skin.TableRowSkinBase.recreateCells(TableRowSkinBase.java:715)
at javafx.scene.control.skin.TableRowSkinBase.updateCells(TableRowSkinBase.java:505)
at javafx.scene.control.skin.TableRowSkinBase.checkState(TableRowSkinBase.java:649)
at javafx.scene.control.skin.TableRowSkinBase.computePrefHeight(TableRowSkinBase.java:588)
at javafx.scene.control.Control.computePrefHeight(Control.java:570)
at javafx.scene.Parent.prefHeight(Parent.java:1033)
at javafx.scene.layout.Region.prefHeight(Region.java:1559)
at javafx.scene.Node.autosize(Node.java:3166)
at javafx.scene.Parent.layoutChildren(Parent.java:1237)
at javafx.scene.Group.layoutChildren(Group.java:238)
at javafx.scene.Parent.layout(Parent.java:1206)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Parent.layout(Parent.java:1213)
at javafx.scene.Scene.doLayoutPass(Scene.java:576)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2482)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:412)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:411)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:438)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:562)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:542)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:535)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:341)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
at java.base/java.lang.Thread.run(Thread.java:834)
FREQUENCY : often