2

我很好奇是否有一种方法可以将 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()。但这感觉比它应该的要复杂一些。

4

0 回答 0