假设,我想在JavaFX TableView中实现数据验证。
一旦用户更改了行中的数据,我想在用户尝试更改当前行号时进行检查。一旦数据正确,我想允许行更改,一旦数据不正确,我想不允许这样做。
如何实现这个?
目前,我正在尝试添加一个监听器
getSelectionModel().selectedIndexProperty().addListener(indexFromTableToModel);
但是其中的任何操作都会导致糟糕的表视图行为。使用
Platform.runLater
使情况变得更好,但仍然不完美。
是否有方便的位置,执行行数据验证并根据它执行不同的操作?
答案 0 :(得分:3)
您可以编写自己的可锁定选择模型(如果当前值无效)。在这种情况下,模型不会改变内部选定的索引。