这是我用来创建一个将在tableview中显示的对象的类MenuItem。
@XmlRootElement
public class MenuItem {
final ObservableList<MenuItem> menuI = FXCollections.observableArrayList();
public SimpleStringProperty description;
public SimpleDoubleProperty price;
public SimpleStringProperty picturePath;
public ArrayList<String> variant = new ArrayList<>();
public ArrayList<String> getVariant() {
return variant;
}
@XmlElement
public void setVariant(ArrayList<String> variant) {
this.variant = variant;
}
public String getDescription() {
return description.get();
}
@XmlElement
public void setDescription(String description) {
this.description.set(description);
}
public Double getPrice() {
return price.get();
}
/**
* Aceasta functie seteaaza pretul meniului
*
* @param price -acesta este pretul pe care il setam
*/
@XmlElement
public void setPrice(Double price) {
this.price.set(price);
}
public String getPicturePath() {
return picturePath.get();
}
@XmlElement
public void setPicturePath(String picturePath) {
this.picturePath.set(picturePath);
}
@Override
public String toString() {
return description + " " + price + " " + variant;
}
}
我尝试了类似的东西但没有任何结果。
@FXML
private TableView<MenuItem> tableOfMenuItems;
@FXML
private TableColumn<MenuItem, String> variantCol, descriptionCol, priceCol;
ObservableList<MenuItem> list = FXCollections.observableArrayList();
variantCol.setCellValueFactory(new PropertyValueFactory<>("variant"));
descriptionCol.setCellValueFactory(new PropertyValueFactory<>("description"));
priceCol.setCellValueFactory(new PropertyValueFactory<>(("price")));
list.add(menuItem);
tableOfMenuItems.setItems(list);