这是我的问题。我有一个带有普通文本列的表格和 2 个带有下拉列表的列和一个带有复选框的表格。这是我对下拉列的单元工厂的回调:
Callback<TableColumn<Person, String>, TableCell<Person, String>> dropdownConditionCellFactory =
new Callback<TableColumn<Person, String>, TableCell<Person, String>>() {
@Override
public TableCell call(TableColumn p) {
Tools.Tables.ComboBoxCell<partCondition> cell = new Tools.Tables.ComboBoxCell<partCondition>(partConditionList)
return cell;
}
};
这个细胞工厂的课程:
公共静态类 ComboBoxCell 扩展 TableCell {
private ComboBox combo;
public ComboBoxCell() {
combo = new ComboBox();
setGraphic(combo);
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
}
public ComboBoxCell(ObservableList items) {
combo = new ComboBox();
combo.setItems(items);
setGraphic(combo);
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
combo.getSelectionModel().selectFirst();
}
public T getSelectedItem()
{
return (T) combo.getSelectionModel().getSelectedItem();
}
public void setSelectedItem(T t)
{
combo.getSelectionModel().select(t);
}
}
我的问题是,当 Table 很大并且其中只有 2 行时,无论如何都会生成下拉列表,它看起来像这样:
有没有办法只生成与提供该表的可观察列表中的项目一样多的下拉列表和复选框?