【发布时间】:2018-09-19 05:06:47
【问题描述】:
我正在使用 MVC 模式的 javafx 构建下载管理器,但遇到了一些麻烦。我想在 TableView 中列出下载,并在各个列中列出所有属性。
假设我有一个这样的模型。
class Download{
private SimpleObjectProperty<Integer> part1;
private SimpleObjectProperty<Integer> part2;
public SimpleObjectProperty<Integer> getPart1Property(){
return part1;
}
public SimpleObjectProperty<Integer> getPart2Property(){
return part2;
}
}
现在我用这样的表格视图设置了 javafx GUI。
TableView<Download> table=new TableView<Download>();
table.setItems(.. Observable list of Download objects ...);
如果我想在表格视图中为 part1 的值添加一列,我可以这样做。
TableColumn<Download,Integer> part1 = new TableColumn<Download,Integer>("Part 1 value");
part1.setCellValueFactory(
(TableColumn.CellDataFeatures<Download, Integer> download) -> download.getValue().getPart1Property());
现在我需要在表格视图中有一列显示 part1 和 part2 的值的总和。 如何在 javafx 中实现这一点?
我已阅读文档here,但遗憾的是找不到任何方法可以实现这一点。任何帮助将不胜感激。
【问题讨论】:
-
与您的问题无关:请遵循 fx 命名约定 - 在您的数据类中为
part1Property()(not:getPart1Property())。也不要过度指定返回值的类型,使用 StringProperty (not SimpleStringProperty) -
谢谢!我会记住这一点。
标签: java javafx model-view-controller tableview