加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JavaFX组合框上的“No select item”?

发布时间:2020-12-14 06:04:48 所属栏目:Java 来源:网络整理
导读:在ComboBox中放置值为null的项的正确方法是什么? 我尝试使用myComboBox.getItems().add(null);,它可以工作,但只要用户在组合框中选择此值,控制台就会抛出异常: Exception in thread "JavaFX Application Thread" java.lang.IndexOutOfBoundsException at c
在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)

所以我想也许这不是正确的做法.有线索吗?

解决方法

根据我的经验,这是Java 8u20中引入的一个问题.在Java 8u05和8u11以及JavaFX 2.x中,您可以将null添加到项列表中,并选择此项表现为预期的行为.在Java 8u20中,每当选择空值时,您将获得java.lang.IndexOutOfBoundsException.

Benjamin Gale:你将不得不使用Java 8u20,在ComboBox中选择一个项目,然后选择空值来查看问题.

目前,最好的选择似乎是创建一个特殊的空对象并对其进行适当的标记,如前所述.

或者,如果您可以使用ChoiceBox,我认为您会发现它按照您想要的方式工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读