JavaFX组合框在更新可观察列表时显示错误的项数

JavaFX组合框在更新可观察列表时显示错误的项数,javafx,javafx-8,Javafx,Javafx 8,我有一个组合框,其项目可以更改。当将所述组合框的项目更改为比以前更少的项目时,组合框仍然显示相同数量的项目字段,“额外”字段为空 像这样: 下面是我用来更改组合框的代码 @FXML private ComboBox<Task> taskComboBox; private ObservableList<TaskDTO> tasks = FXCollections.observableArrayList(); public Foo() { taskComboBox.

我有一个组合框,其项目可以更改。当将所述组合框的项目更改为比以前更少的项目时,组合框仍然显示相同数量的项目字段,“额外”字段为空

像这样:

下面是我用来更改组合框的代码

@FXML private ComboBox<Task> taskComboBox;
private ObservableList<TaskDTO> tasks = FXCollections.observableArrayList();

public Foo() {
    taskComboBox.setItems(tasks);
}

@FXML
private void loadTaskComboBox(int i) {
    tasks.clear();
    tasks.addAll(getTasks(i));
}
@FXML私有组合框taskComboBox;
私有ObservableList tasks=FXCollections.observableArrayList();
公共食物({
taskComboBox.setItems(任务);
}
@FXML
专用void loadTaskComboBox(int i){
任务。清除();
tasks.addAll(getTasks(i));
}
非常感谢您的帮助。

ComboBox API:

默认情况下,当弹出列表显示时,最大行数 visible为10,但可以通过修改
visibleRowCount
属性。如果组合框中的项目数为 小于
visibleRowCount
的值,则项目大小将为 改为使用,以便弹出列表不会太长


但另一方面,如果项目数量正在减少,ListView(弹出内容)将不会减少。但您可以调整以调整可见项目的数量。

在更新列表后更改VisibleRowCount属性没有任何效果,仍然会显示比我的列表更多的项目。:(@TomNijs隐约记得有一个与动态更改项目相关的bug,可能是相关的(虽然忘记了id)很抱歉,但是ComboBox API本身并没有提供更多功能。您可以尝试创建自己的ComboBox外观或搜索JavaFX bug跟踪器()如果这个问题没有,请提交一个bug。我提交了一个bug报告。谢谢所有的回复。