Java 定义具有多个列的tableview数据的更简单方法?
我会尽力解释的。上个星期我才第一次开始研究JavaFX。我仍在掌握如何使用PropertyValueFactory和SimpleStringProperty,但我让它发挥作用。现在,如果我有20列,那就是我需要编写的20个get/set方法。这不是一个大问题,但对我来说很乏味,而且似乎很冗长 有没有办法让所有列调用相同的方法进行数据检索,但传入一个变量?像字符串还是枚举?因此,我的TableView的ObservableList中的对象将具有如下方法:Java 定义具有多个列的tableview数据的更简单方法?,java,javafx,Java,Javafx,我会尽力解释的。上个星期我才第一次开始研究JavaFX。我仍在掌握如何使用PropertyValueFactory和SimpleStringProperty,但我让它发挥作用。现在,如果我有20列,那就是我需要编写的20个get/set方法。这不是一个大问题,但对我来说很乏味,而且似乎很冗长 有没有办法让所有列调用相同的方法进行数据检索,但传入一个变量?像字符串还是枚举?因此,我的TableView的ObservableList中的对象将具有如下方法: class TableObject{
class TableObject{
public String getTableElement(String key){
return this.data.get(key);
}
}
希望这是有意义的,我不太确定这个问题的措辞。实现您自己的
回调
并替换属性值工厂
private static TableColumn<TableObject, String> createColumn(String name, final String key) {
TableColumn<TableObject, String> column = new TableColumn<>(name);
column.setCellValueFactory(cd -> new SimpleStringProperty(cd.getValue().getTableElement(key)));
return column;
}
private static TableColumn createColumn(字符串名称,最终字符串键){
TableColumn column=新的TableColumn(名称);
column.setCellValueFactory(cd->new SimpleStringProperty(cd.getValue().getTableElement(键));
返回列;
}
实现您自己的回调
并替换属性值工厂
private static TableColumn<TableObject, String> createColumn(String name, final String key) {
TableColumn<TableObject, String> column = new TableColumn<>(name);
column.setCellValueFactory(cd -> new SimpleStringProperty(cd.getValue().getTableElement(key)));
return column;
}
private static TableColumn createColumn(字符串名称,最终字符串键){
TableColumn column=新的TableColumn(名称);
column.setCellValueFactory(cd->new SimpleStringProperty(cd.getValue().getTableElement(键));
返回列;
}
谢谢,这正是我需要的。JavaFX与我预期的大不相同,但似乎更强大。谢谢,这正是我所需要的。JavaFX与我预期的大不相同,但似乎更强大