如何防止在JavaFX中的TableView中选择另一行

时间:2016-05-06 14:53:20

标签: java tableview javafx-8

假设,我想在JavaFX TableView中实现数据验证。

一旦用户更改了行中的数据,我想在用户尝试更改当前行号时进行检查。一旦数据正确,我想允许行更改,一旦数据不正确,我想不允许这样做。

如何实现这个?

目前,我正在尝试添加一个监听器

getSelectionModel().selectedIndexProperty().addListener(indexFromTableToModel);

但是其中的任何操作都会导致糟糕的表视图行为。使用

Platform.runLater

使情况变得更好,但仍然不完美。

是否有方便的位置,执行行数据验证并根据它执行不同的操作?

1 个答案:

答案 0 :(得分:3)

您可以编写自己的可锁定选择模型(如果当前值无效)。在这种情况下,模型不会改变内部选定的索引。