Mat*_*ari 6 java javafx javafx-2 javafx-8
在ComboBox中放置值为null的项的正确方法是什么?我尝试使用myComboBox.getItems().add(null);
,但它确实有效,但只要用户在组合框中选择此值,控制台就会抛出异常:
Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException
at com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList.subList(ReadOnlyUnbackedObservableList.java:136)
Run Code Online (Sandbox Code Playgroud)
所以我想也许这不是正确的做法.有线索吗?
小智 8
根据我的经验,这是Java 8u20中引入的一个问题.在Java 8u05和8u11以及JavaFX 2.x中,您可以添加null
到项目列表中,并选择此项目的行为符合预期.在Java 8u20中,您将java.lang.IndexOutOfBoundsException
在选择null
值时获得.
Benjamin Gale:您将不得不使用Java 8u20,在ComboBox中选择一个项目,然后选择该null
值以查看问题.
目前,最好的选择似乎是创建一个特殊的对象null
并对其进行适当的标记,如前所述.
或者,如果您可以使用ChoiceBox,我认为您会发现它按照您想要的方式工作.
归档时间: |
|
查看次数: |
11027 次 |
最近记录: |