1

第一个帖子@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 体贴的回答者请尝试详细解释您的答案,以便我可以清楚地理解这个概念,而不仅仅是“得到”答案。如果可以突出显示我的代码逻辑和/或项目层次结构设置中的错误和错误,将不胜感激。

谢谢。

4

0 回答 0