我想在其值为空时更改tableview的单元格背景颜色。你可以帮帮我吗?谢谢。 下面是我的源代码概述,但它不起作用。
{{1}}
答案 0 :(得分:0)
如果项目变为""
,则使用代码将背景设置为颜色。如果项目应该更改,您永远不会更改它。此项目为""
意味着该单元格不为空。
此外,您已经覆盖了updateItem
方法,该方法在项目更改或单元格变空时调用,应该使用它来更新背景。
public class Cell extends TextFieldTableCell<Itemtest, String>{
public Cell(StringConverter<String> str){
super(str);
}
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : getString());
setGraphic(null);
// is this really the check you want?
if (item != null && item.isEmpty()) {
this.setBackground(new Background(new BackgroundFill(Color.RED, CornerRadii.EMPTY, Insets.EMPTY)));
} else {
// change back to empty background
this.setBackground(Background.EMPTY);
}
}
private String getString(){
return getItem() == null ? "" : getItem().toString();
}
}