JavaFX组合框API中的NullPointerException

JavaFX组合框API中的NullPointerException,java,javafx-2,Java,Javafx 2,我的一个屏幕上出现了一个奇怪的问题,我真的不知道该去哪里看。 我在数据库中查找项目,并在单独的屏幕(不是实际的屏幕,而是容器)中显示项目的详细信息 奇怪的是,这个程序可以很好地处理大多数项目,但在某些情况下,它永远不会工作。堆栈跟踪并没有真正帮助我,因为它都不属于我的源代码 亲爱的朋友们,你们对这个问题有什么想法或暗示吗 java.lang.NullPointerException at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin

我的一个屏幕上出现了一个奇怪的问题,我真的不知道该去哪里看。 我在数据库中查找项目,并在单独的屏幕(不是实际的屏幕,而是容器)中显示项目的详细信息

奇怪的是,这个程序可以很好地处理大多数项目,但在某些情况下,它永远不会工作。堆栈跟踪并没有真正帮助我,因为它都不属于我的源代码

亲爱的朋友们,你们对这个问题有什么想法或暗示吗

java.lang.NullPointerException
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getIndexOfComboBoxValueInItemsList(ComboBoxListViewSkin.java:444)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.updateDisplayNode(ComboBoxListViewSkin.java:392)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getDisplayNode(ComboBoxListViewSkin.java:229)
at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.updateDisplayArea(ComboBoxBaseSkin.java:125)
at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.computePrefHeight(ComboBoxBaseSkin.java:180)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.control.Control.computePrefHeight(Control.java:804)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.control.Control.prefHeight(Control.java:686)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1689)
at javafx.scene.layout.HBox.computePrefHeight(HBox.java:394)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.VBox.getAreaHeights(VBox.java:394)
at javafx.scene.layout.VBox.computePrefHeight(VBox.java:373)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1689)
at javafx.scene.layout.HBox.computePrefHeight(HBox.java:394)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1693)
at javafx.scene.layout.StackPane.computePrefHeight(StackPane.java:320)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at com.sun.javafx.scene.control.skin.ScrollPaneSkin.computeScrollNodeSize(ScrollPaneSkin.java:874)
at com.sun.javafx.scene.control.skin.ScrollPaneSkin.layoutChildren(ScrollPaneSkin.java:753)
at javafx.scene.Parent.layout(Parent.java:1018)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028)
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(Thread.java:662)

看起来您在代码中的某个地方调用了
组合框#setItems(null)
。查找所有
setItems()
调用,并添加所提供参数的调试输出,以查看它是否恰好为null


您还可以尝试更新FX8的开发者版本,因为那里有
setItems(null)
。因此,您将获得更清晰的堆栈跟踪。

看起来您在代码中的某个地方调用了
组合框#setItems(null)
。查找所有
setItems()
调用,并添加所提供参数的调试输出,以查看它是否恰好为null


您还可以尝试更新FX8的开发者版本,因为那里有
setItems(null)
。因此,您将获得更清晰的堆栈跟踪。

您是否尝试在从数据库获取项目时记录项目,以查看它在哪些项目上崩溃?是的,我尝试了,但我看不到项目之间的任何关联…您是否尝试在从数据库获取项目时记录项目,以查看它在哪些项目上崩溃?是的,我尝试了,我看不出项目之间有任何关联……确实,这是一个好答案,在一些罕见的情况下,我用空组件设置项目。确实,这是一个好答案,在一些罕见的情况下,我用空组件设置项目。