Я использую ObservableList, который прикреплен к TableView. Теперь, прежде всего, я хочу сделать TableView редактируемым, а затем, когда редактируются определенные поля, я хочу обновить соответствующий объект в ObservableList. Но почему-то я борюсь с получением обновленного значения из TableView. И если я использую
tv_column.setCellFactory(TextFieldTableCell.forTableColumn());
то я получаю сообщение об ошибке:
Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Моя фабрика ценности ячеек:
tv_column.setCellValueFactory(new PropertyValueFactory<SaleItem,Double>("quantity"));
Модели:
public interface SaleItem {
void setProductName(String productName);
void setPrice(double price);
double getPrice();
double getTotalPrice();
void setTotalPrice();
String getProductCode();
String getProductCodeDescription();
String getDescription();
String getProductName();
}
public abstract class NonFuel implements SaleItem {
public SimpleIntegerProperty quantity = new SimpleIntegerProperty();
public SimpleDoubleProperty price = new SimpleDoubleProperty(0.0);
public SimpleStringProperty productName = new SimpleStringProperty("");
SimpleDoubleProperty totalPrice = new SimpleDoubleProperty(0.0);
// getter and setter
}
public class Drinks extends NonFuel {
public Drinks() {
setProductName("Coffee");
setPrice(2.20);
setQuantity(1);
}
// getter and setter
}
Может ли кто-нибудь помочь получить новое значение с телевизора или обновить OL за ним?
Заранее спасибо.