如何将TextFields中的文本放在TableView(javafx)中?

时间:2017-09-08 11:35:38

标签: java javafx tableview

这是我用来创建一个将在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);

0 个答案:

没有答案