Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX组合框项属性绑定_Java_Properties_Javafx - Fatal编程技术网

JavaFX组合框项属性绑定

JavaFX组合框项属性绑定,java,properties,javafx,Java,Properties,Javafx,我对JavaFX很陌生,刚尝试过属性bindigs。它在StringProperty和BooleanProperty中运行良好,但现在我必须将一些数据绑定到组合框 这是一条线,它死在这里。它位于FXML的控制器类中: comboBox.itemsProperty().bind(root.itemsProperty()); 下面是根目录的类别: 导入javafx.beans.property.ObjectProperty; 导入javafx.beans.property.SimpleObject

我对JavaFX很陌生,刚尝试过属性bindigs。它在StringProperty和BooleanProperty中运行良好,但现在我必须将一些数据绑定到组合框

这是一条线,它死在这里。它位于FXML的控制器类中:

comboBox.itemsProperty().bind(root.itemsProperty());
下面是根目录的类别:

导入javafx.beans.property.ObjectProperty;
导入javafx.beans.property.SimpleObject属性;
导入javafx.collections.ObservableList;
公共类SectionComboBox扩展了SectionControl{
private final ObjectProperty items=new SimpleObjectProperty();
}
公共可观察列表getItems(){
returnitems.get();
}
公共无效集合项(可观察列表值){
项目。设置(值);
}
public ObjectProperty itemsProperty(){
退货项目;
}
}
错误日志:

java.lang.NullPointerException
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getIndexOfComboBoxValueInItemsList(ComboBoxListViewSkin.java:430)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.updateDisplayNode(ComboBoxListViewSkin.java:376)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getDisplayNode(ComboBoxListViewSkin.java:232)
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:856)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.control.Control.prefHeight(Control.java:738)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.AnchorPane.computeChildHeight(AnchorPane.java:296)
at javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:327)
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.Scene.layoutDirtyRoots(Scene.java:516)
at javafx.scene.Scene.doLayoutPass(Scene.java:487)
at javafx.scene.Scene.access$3900(Scene.java:170)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2186)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:363)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:461)
at com.sun.javafx.tk.quantum.QuantumToolkit$9.run(QuantumToolkit.java:330)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:17)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:67)
at java.lang.Thread.run(Thread.java:724)

有人能帮我怎样才能正确地装订它吗?我错过了什么?

从昨天起,我就知道了。唯一的问题是,我忘记在将ObservableList绑定到ComboBox之前初始化它。所以,这是遗漏的一行,fmo是最开始的:

root.setItems(FXCollections.observableArrayList());