【发布时间】:2015-12-13 08:33:14
【问题描述】:
我正在尝试修改 TableView 的 JavaFX 示例代码
使用动态方法在编辑后更新项目。
完整的教程和示例代码可以在这里找到:
https://docs.oracle.com/javafx/2/ui_controls/table-view.htm
Item的更新被编程为handler:
firstNameCol.setOnEditCommit(
new EventHandler<CellEditEvent<Person, String>>() {
@Override
public void handle(CellEditEvent<Person, String> t) {
((Person) t.getTableView().getItems().get(
t.getTablePosition().getRow())
).setFirstName(t.getNewValue());
}
} );
我想使用动态的东西而不是 setFirstName() 。
除了反射还有其他可能吗?
我已经设法通过以下方式获取 Property 的名称:
String propertyName = ((PropertyValueFactory)t.getTableColumn().getCellValueFactory()).getProperty();
我能否以某种方式使用 propertyName 设置 firstName 的值?
我知道,它可以通过反射来完成,但我想使用属性的特性。
谢谢, 安妮
【问题讨论】:
标签: java dynamic javafx properties tableview