是否可以更改 JavaFX2 子列表中节点的顺序?我尝试了 set()
和 Collections.swap()
但是都在 Parent
中抛出 IllegalArgumentException
就像在某些时候children 列表在两个位置包含相同的项目(当节点位于新位置并且尚未从旧位置移除时)。 Parent 内部有标志,JavaFX 在 toFront()
和 toBack()
内部使用这些标志来防止异常,但是无法从外部访问它们。
java.lang.IllegalArgumentException: Children: duplicate children added: parent = HBox@1424bf0
at javafx.scene.Parent$1.onProposedChange(Parent.java:307)
at com.sun.javafx.collections.VetoableObservableList.set(VetoableObservableList.java:156)
at com.sun.javafx.collections.ObservableListWrapper.set(ObservableListWrapper.java:281)
at java.util.Collections.swap(Collections.java:532)
最佳答案
您可以通过以下方式移动父级子级列表中的子级
childNode.toFront();
childNode.toBack();
关于java - 如何更改 JavaFX 中子项的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17761415/