我试图在一个表格中显示我的数据,一个属性"模型"我希望在表格中显示属性,下面是尝试
public void drawTable() throws Exception{
try{
List<PartsItem> ava = dm.getItemRepository().getAvailable();
ItemSerial.setCellValueFactory(new PropertyValueFactory<Item, String>("serialNumber"));
ModelName.setCellValueFactory(new PropertyValueFactory<Item, String>("model"));
ObservableList<PartsItem> avai1 = FXCollections.observableArrayList(ava);
Available_DisplayTable.setItems(avai1);
}
catch (Exception ex) {
Logger.getLogger(PartsController.class.getName()).log(Level.SEVERE, null, ex);
}
&#34;模型&#34;属性是Model类型,在Model I中有String的名称和getters。
public class Model {
@Column
private int id;
@Id
private String name;
@OneToMany(fetch=FetchType.LAZY)
private List<Item> item;
public Model(){}
public Model(int id, String name, List<Item> item){
this.id=id;
this.name=name;
this.item = item;
}
....
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
所以我的问题是如何在表格列中显示附加的模型名称&#34; ModelName&#34;
编辑:我尝试了#34; this.model.getName()&#34;作为尝试,但这也没有用,我想显示名称和ID,如果可能的话
答案 0 :(得分:1)
new PropertyValueFactory<Item, String>("model")
将在您的modelProperty
课程中查找名为Model
的方法。使用StringProperty
,以便TableView
可以识别更改。
你可以尝试
private StringProperty model;
public Model(int id, String name, List<Item> item){
this.id=id;
this.name=name;
this.item = item;
model = new StringProperty(getName()+" "+getId());
}
public void setName(String name) {
this.name = name;
model.set(getName()+" "+getId());
}
public StringProperty modelProperty() {
return new StringProperty(getName()+" "+getId);
}
我不能自己测试它希望这有帮助