我正在使用附在TableView上的ObservableList。现在,首先我想使TableView可编辑,然后在编辑特定字段时,我想更新ObservableList中的相应对象。但不知何故,我很难从TableView中获取更新的值。如果我使用
电视栏目。setCellFactory(TextFieldTableCell.forTableColumn())
然后我得到错误:
线程“JavaFX应用程序线程”java中出现异常。lang.ClassCastException:java。lang.Integer不能转换为java。lang.String
我的细胞价值工厂:
电视栏目。setCellValueFactory(新属性ValueFactory
型号:
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吗?
提前感谢。
我发现有两个问题:
>
需要将模型中的双精度或整数值与字符串进行转换。我可以在以下列中直接配置:
tv_column.setCellFactory(
TextFieldTableCell.forTableColumn(
new StringConverter<Double>() {
@Override
public String toString(Double object) {
return Double.toString(object);
}
@Override
public Double fromString(String string) {
return Double.valueOf(string);
}
}
)
);
另一方面,我必须获得编辑单元格的事件,并将新值赋予ObservableList的项。然后我必须更新项目并刷新TableView:
tv_column.setOnEditCommit(
new EventHandler<TableColumn.CellEditEvent<SaleItem, Double>>() {
@Override
public void handle(TableColumn.CellEditEvent<SaleItem, Double> event) {
SaleItem saleItem = event.getTableView().getItems().get(event.getTablePosition().getRow());
saleItem.setQuantity(event.getNewValue());
saleItem.updatePrice();
tv.refresh();
}
}
);
Tidy Viewer (tv) Tidy Viewer (tv) is a cross-platform csv pretty printer that uses column styling to maximize viewer enjoyment. Pretty Printing Contents Installation Examples Significant Figure Defini
Chrome TV 是一个基于Chrome的在线网络电视扩展,通过Chrome TV你可以在Chrome中观看全球超过3000个电视台。Chrome TV提供多种电视节目分类,同时你也可以选择不同国家的电视台观看。 需要注意的是使用Chrome TV可能需要安装 Windows Media Player 插件,如果你安装此扩展后无法使用,请参考官方提供的方法:登陆 http://port25.te
使用说明: https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/AndroidTVWidget-use-manual 键盘使用说明: https://git.oschina.net/hailongqiu/AndroidTVWidget/wikis/Android-TV-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%9
NativeScript ❤️ Android TV YouTube video of this app, running on a Phone and TV (23s) YouTube video if this app, running on a TV, with D-Pad controls (20s) What? Unsurprisingly Android TV is very much
homebridge-bravia-tv v3 Homebridge dynamic platform plugin for Sony Bravia Android TVs Note: If you are looking for the non dynamic version, install the old version! homebridge-sonybravia-platform v2
homebridge-webos-tv HomeKit integration for LG webOS TVs how it's supposed to be homebridge-webos-tv is a plugin for homebridge which allows you to control your LG webOS TV from your Home app! It shou