【发布时间】:2017-08-11 14:39:29
【问题描述】:
我还是 JavaFX 的新手,不太了解工厂的工作原理。
我想要做的既是根据 String 值对 tableColumn 中的 tableCell 应用样式,还要使单元格可编辑。
现在我的代码如下所示:
notesColumn.setCellFactory(column -> new TableCell<Computer, String>() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (item == null | empty)
{
setText(null);
setStyle("");
}
else
{
setText(item);
if (item.contains("Restoring @")) setTextFill(Color.CRIMSON);
else if (item.contains("Ready")) setTextFill(Color.FORESTGREEN);
else setTextFill(Color.BLACK);
}
}
});
这件作品可以按照我的意愿工作,但是如果我尝试使用以下代码使单元格可编辑,那么当然,cellFactories 会相互覆盖。如何将两者结合起来?
notesColumn.setCellFactory(TextFieldTableCell.forTableColumn());
【问题讨论】:
-
只需让您的自定义单元实现成为
TextFieldTableCell的子类,而不是TableCell的子类。 -
你能说明我会怎么做吗?提前致谢!
-
不太确定有什么需要澄清的?