0
我有一个TableColumn
编码为:FXML:绑定到嵌套场
<TableColumn text="Nom" prefWidth="${purchasesTable.width*0.65}">
<cellValueFactory>
<PropertyValueFactory property="item.name" />
</cellValueFactory>
</TableColumn>
它TableView
的项目属性绑定到Purchase
类的列表:
采购类:
public class Purchase {
private Item item;
public Item getItem() {
return item;
}
public void setItem(Item item) {
this.item = item;
}
}
我的Item
class is as foll OWS:
public class Item {
private long id;
private StringProperty name = new SimpleStringProperty();
private DoubleProperty price = new SimpleDoubleProperty();
//Getters and Setters
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public final StringProperty nameProperty() {
return this.name;
}
public final String getName() {
return this.nameProperty().get();
}
public final void setName(final String name) {
this.nameProperty().set(name);
}
}
当我添加购买到我的表名单元不会出现。我究竟做错了什么?是否需要我的Item
字段作为属性,因为我想在其他地方使用JavaFX而不使用它们?
如果我添加其他列如何创建一个方法'setUpColumn'以避免代码重复? –