首先发布@SO,就在这里。我已经对此进行了广泛的搜索,但未能找到合适的解决方案,我不得不继续这个问题。
我刚刚开始学习JavaFX / Java,我正在尝试构建一个表,与其他一些列一起,只有一个ProgressIndicator列。这意味着需要在表格单元格中显示ProgressIndicator。
到目前为止我已完成的工作:http://pastebin.com/raw.php?i=QxSmsJCT
@Override // This method is called by the FXMLLoader when initialization is complete
public void initialize(URL fxmlFileLocation, ResourceBundle resources) {
fileName.setCellValueFactory(new PropertyValueFactory<Table, String>("fileName"));
transferSpeed.setCellValueFactory(new PropertyValueFactory<Table, Double>("transferSpeed"));
piColumn.setCellValueFactory(new PropertyValueFactory<Table, Double>("piColumn"));
ProgressIndicatorTableCell pitc = new ProgressIndicatorTableCell();
piColumn.setCellFactory(pitc.<TableCell>forTableColumn());
transferTable.setItems(data);
}
class ProgressIndicatorTableCell<S> extends TableCell<S, Double> {
public <S> Callback<TableColumn<S, Double>, TableCell<S, Double>> forTableColumn() {
return new Callback<TableColumn<S, Double>, TableCell<S, Double>>() {
@Override
public TableCell<S, Double> call(TableColumn<S, Double> param) {
return new ProgressIndicatorTableCell<>();
}
};
}
}
虽然其他列完美运行(并显示我提供的数据),但我无法弄清楚为什么ProgressIndicator根本没有出现。
我请求SO的体贴的回答者请尝试用一些细节来解释你的答案,以便我能清楚地理解这个概念,而不仅仅是“得到”答案。如果我的代码的逻辑和/或项目层次结构设置中的错误和错误可以突出显示,那将非常感激。
感谢。