我似乎总是在JavaFX中遇到ComboBox控件的问题,有时候当我选择一个项目时会出现错误,例如:
Mar 02, 2016 1:01:34 PM com.sun.javafx.scene.control.skin.VirtualFlow addTrailingCells
INFO: index exceeds maxCellCount. Check size calculations for class com.sun.javafx.scene.control.skin.ComboBoxListViewSkin$4$1
我发现修复此问题的唯一方法是使用setVisibleRowCount比填充项目的数量少一个,例如如果有5个项目,我将可见行数设置为4.如果只有2个项目,那么我必须将其设置为1,这从UI交互性的角度来看并不是特别令人满意。
我不确定设置可见行计数是否是实际修复,是否还有其他我可以做的修复它,或者确实为什么会发生这种错误。有人可以帮忙吗?
更新:当我遇到这个错误时,我正在运行Jdk8 Update 51。现在刚刚更新到Jdk8 Update 73,该bug不再存在。此外,以前使用更新51,当我第一次打开一个ComboBox时,它默认有一个滚动条,它会在打开两次后消失。从更新73开始,这不再发生,默认情况下它没有滚动条。我认为这可能与bug有关。
是否有人能够确认这一点,而且我对更新更改的观察确实如此?
答案 0 :(得分:0)
以下只是一个能够阻止警告在JavaFX中显示的小黑客。
combo.setVisibleRowCount(<size of list> -1)
这会减少可查看的窗口大小,但如果列表长度超过2,则不会显着影响程序的美观性。
注意:此修补程序最初是在几个月前发布的。不幸的是,我此时无法找到参考。