我很好奇是否有一种方法可以将 JavaFX 标签绑定textProperty()
到 TableViewsselectedItemProperty()
而不会在未选择任何条目时获得 a NullPointerException
,例如在初始化期间。
这里有一个小片段来说明实际情况:
@FXML
private Label l_name;
@FXML
TableView<TableEntry> tv_table;
l_name.textProperty().bind(tv_table.selectedItemProperty().get().getName());
get()
只能在选择项目时返回类型的对象,而在我的控制器类TableEntry
中执行该方法期间并非如此。initialize()
所以代码会NullPointerException
尝试getName()
在实际的“tablerow”上执行。
这个问题的最佳解决方案是什么?目前我已经在ChangeListener
上实现了一个selectedItemProperty()
,而不是通过直接调用来更改标签文本setText()
。但这感觉比它应该的要复杂一些。