JavaFX TreeItem.TreeModificationEvent<;V>;事件不';t提供对(ListChangeListener.Change)Change成员的访问以获取订购信息

JavaFX TreeItem.TreeModificationEvent<;V>;事件不';t提供对(ListChangeListener.Change)Change成员的访问以获取订购信息,java,javafx,javafx-8,Java,Javafx,Javafx 8,我需要订阅树事件,这样我就可以从树视图中检测到对子级的更改,包括排序更改。事件的变更成员似乎有订购信息,但开发人员无法使用 从TreeModicationEvent获取订购信息最有效的方法是什么 sourceNode.addEventHandler(TreeItem.childrenModificationEvent(),(TreeItem.TreeModificationEvent事件)->{ var c=event.getChange();//我所知道的唯一选项是“变脏”并以反射方式访问更

我需要订阅树事件,这样我就可以从树视图中检测到对子级的更改,包括排序更改。事件的变更成员似乎有订购信息,但开发人员无法使用

从TreeModicationEvent获取订购信息最有效的方法是什么

sourceNode.addEventHandler(TreeItem.childrenModificationEvent(),(TreeItem.TreeModificationEvent事件)->{

var c=event.getChange();//我所知道的唯一选项是“变脏”并以反射方式访问更改-但请注意:即使在内部,更改也不总是设置的(据我所记得的)好的,我正在考虑这样做,但是你同意没有其他方法来获取排序信息吗?这里似乎缺少API,因为底层的ListChangeEvent具有有用的排序信息(至少在设置时)您正试图访问的确切信息是什么?如果您需要知道子项是否已排序,请使用。如果您需要访问子项列表,请使用
event.getTreeItem().getChildren()
。但是,如果您需要知道受影响索引的范围,则可能必须使用反射。是的,受影响索引的范围就是我想要的,否则计算索引的成本相当高。
sourceNode.addEventHandler(TreeItem.<V>childrenModificationEvent(), (TreeItem.TreeModificationEvent<V> event) -> {

            var c =event.getChange(); // <--- This is not available
}