JavaFX在另一个节点(XML)之后或之前添加节点(Programm)

时间:2016-09-21 11:51:21

标签: java javafx

如果我追加这样的节点:

HBox child = new HBox();
HBox fooBar = (HBox) doc.lookup("#fooBar");

fooBar.getChildren().add(child);

它可能有效,但不是我想要的方式,因为我想定义位置。如果我想在fooBar之前或之后让孩子怎么办?

<HBox>
  <HBox id="first"></HBox>
  <HBox id="fooBar"></HBox>
  <HBox id="last"></HBox>
</HBox>

1 个答案:

答案 0 :(得分:2)

fooBar.getParent().getChildren()会返回ObservableList,因为它继承自java.util.List,但有一个方法add(int index, E element)spec中的更多信息)

在正确的位置添加新节点可能会有所帮助。 以下代码在fooBar之前添加了孩子。

int fooBarIndex = fooBar.getParent().getChildren().indexOf(fooBar);
fooBar.getParent().getChildren().add(fooBarIndex, child)