[英]javafx TableView; edit newly added element
我正在尝试自动启动对TableView上新添加的元素的编辑。 例如
((TableView)t).getItems().add(new Data(...));
t.edit(t.getItems().size() - 1, tColumn);
尽管这为分隔的单元格提供了不确定的行为(例如,看起来(处于可视状态)处于编辑状态,而实际上却不是)
据我了解,添加元素后,表本身尚未更新(因此),因此添加runLater调用有时可以解决此问题。 虽然不一致。
Platform.runLater(() -> t.edit(t.getItems().size() - 1, tColumn));
至少这消除了未定义的视觉行为。 它要么是编辑的,要么不是(技术上和视觉上)。
因此,我正在寻找添加元素后触发编辑的一致方式。
我偶然发现了解决该问题的方法...。 如果在启动编辑之前调用TableView#layout()
,则将正确更新单元格,从而提供防故障结果。
((TableView)t).getItems().add(new Data(...));
t.layout();
t.edit(t.getItems().size() - 1, tColumn);
请注意,不需要Platform#runLater()
调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.