我是java和javaFX的新手,但我需要这些东西才能完成强制性练习。
到目前为止,我编写了一个用于导入csv值的控制台程序,并对这些值进行了一些比较。但现在的任务是为相同的东西创建一个GUI。所以我想使用为CSVimport编码的相同代码和GUI的比较,但我不知道如何使用未编码的数据填充TableView
(TableColumn
)作为StringProperty
或DoubleProperty
等。我找到的所有教程(例如here或here)都使用这些属性。那么如何使用常规字符串或双精度来填充表格呢?
答案 0 :(得分:2)
如果您有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()));