用不可观察的数据填充 TableView

Populate TableView with not observable data

我是 java 和 javaFX 的新手,但我需要这些东西来完成必修课。

到目前为止,我编写了一个用于导入 csv 值的控制台程序,并对这些值进行了一些比较。但现在的任务是为同样的东西创建一个 GUI。所以我想使用为 CSVimport 编码的相同代码和 GUI 的比较,但我不知道如何用我的数据填充 TableViewTableColumn) =12=] 或 DoubleProperty 等。我找到的所有教程(例如 here or here)都使用这些属性。那么如何使用常规字符串或双打来填充 table?

如果你有一个 POJO,例如

public class Person {

  // ...

  public String getName() { 
      return name ;
  }

  // ...
}

那你就可以了

TableView<Person> table = new TableView<>();
TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
    @Override
    public ObservableValue<String> call(CellDataFeatures<Person, String> cellData) {
        return new ReadOnlyStringWrapper(cellData.getValue().getName());
    }
});

在 JavaFX 8 中,最后一条语句变为

nameColumn.setCellValueFactory(cellData -> 
    new ReadOnlyStringWrapper(cellData.getValue()));