我想在TableView中展示一系列的金融交易。每笔交易都由日期、说明和金额组成。
如果我使用另一个问题的回复中所示的示例将所有单元格都视为文本,则可以使用绑定来完成此工作。这允许单元格编辑,这是我的目标。
但是我不能让它在date和amount列上工作,我想我需要为每个单元格类型使用一个单独的单元格工厂和一个可能的单独的updateItem方法,但是我被卡住了。
任何指向示例或建议的指针都会很有帮助。
发布于 2012-06-29 17:28:50
您可能希望在:http://www.javafxdata.org/上查看DataFX项目,特别是像:http://www.javafxdata.org/javadoc/org/javafxdata/control/cell/TextFieldCellFactory.html这样的单元工厂
例如,假设您的amount有一个double类型,您可以在TableColum的子类中编写类似的代码(replace?
setCellFactory(TextFieldCellFactory.<???, Number>forTableColumn(new Callback<String,Number>(){
@Override
public Number call(String newValueStr) {
double newValue = Double.parseDouble(newValueStr);
return newValue;
}));
setOnEditCommit(new EventHandler<CellEditEvent<???, Number>>() {
@Override
public void handle(CellEditEvent<???, Number> t) {
double newValue = t.getNewValue().doubleValue();
// do something with the double value the user entered here
}
});
}}
我希望这至少能给你一些方向。为了清楚起见,我省略了异常处理。
https://stackoverflow.com/questions/10947005
复制相似问题