获得属性我想从一个模型的属性在我的TableCell的,所以根据该属性可以让本身在下面的例子中,我可以maipulate细胞:JavaFX的:从TableCell的
我有这样一个模型:
public class Model {
private CustomProperty<Integer> appleCount;
private CustomProperty<Integer> peachCount;
public Model(Integer appleCount, Integer peachCount) {
this.appleCount = new CustomIntegerProperty(appleCount);
this.peachCount = new CustomIntegerProperty(peachCount);
}
public CustomProperty<Integer> appleCountProperty() {
return appleCount;
}
public CustomProperty<Integer> peachCountProperty() {
return peachCount;
}
}
这种模式只是一个恶搞我,和我有有两个或两个以上CustomProperty<Integer>
然后我有了这个Model
或类似的CLA几桌几模型ss作为TableView
的模型。我有一个自定义TableCell
与覆盖updateItem
,那里我想设置单元格的文本取决于CustomProperty
具有例如initialValue,oldValue等的属性。例如,如果initialValue为0,然后将文本设置为空而不是默认情况下有单元格。我有这方面的部分解决方案:创建一个interface HasCustomProperty
那么模型就要实现它,但后来有几个问题:
- 我需要添加两个CustomProperties来或他们的接口
- 我的列表需要以某种方式询问单元格:你是appleCount?或你是桃子细胞吗?
可以肯定的是在一个小区只有一个属性,苹果或桃子,所以理论上我不应该关心的电池,如果我知道他们两个都CustomIntegerProperties所以我知道他们有initialValue
或oldValue
,所以我可以根据它设置单元格的文本。
我只能得到这个项目,这是一个Integer类型,所以我没有它的属性,或者有什么办法来获得属性本身?
溶剂可能是在每个列的cellFactory中覆盖updateItem,并且在那里我知道例如这是appleColumn,因此从appleCountProperty获取信息等等,但是如果我有这些,会导致大量重复的代码在5-6个地方完成。所以我认为我做了一个自定义TableCell,然后在那里管理文本,然后我为每个列设置cellFactory()
的单元格。
你有什么想法我怎么能做到这一点简单没有重复的代码?
我不太确定你问的问题....我提供了一个关于如何在更新项目中给单元格单元格提供查询的整个对象的答案。如果这不是你正在寻找的,请让我知道,我希望能指引你朝另一个方向发展。 –