java - 如何更改 JavaFX 中子项的顺序

标签 java javafx-2

是否可以更改 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/

相关文章:

java - 可重入锁实现细节

java - 列类型的奇怪 Hibernate 异常

java - 将一个实例注入(inject)多个 bean

java - 是否可以在 iOS、Android 或 Windows Phone 8 上运行 JavaFX 应用程序?

java - 将 "PNG"图像文件加载到我的 Java Fx 应用程序时,Java fx 引擎失败

css - JavaFX 中有两种颜色的背景?

java - Glassfish 3.1.2.2 一段时间后更改了默认登录领域

Java Sigmoid 方法返回不正确的结果

tableview - JavaFX TableView 复制到剪贴板

java - JavaFX Controller 如何访问其他服务?