Javafx 获取控制器类的HBox元素的Indexnumber

Javafx 获取控制器类的HBox元素的Indexnumber,javafx,javafx-8,Javafx,Javafx 8,我有一个Hbox,其中包含Vbox,每个Vbox本身包含可以添加或删除的其他元素以及一些控制按钮。现在,我想在我的模型中添加或删除这些灵活的元素,我需要知道这是在哪个Vbox中发生的 我的尝试是获取Hbox的子项,并检查发生/更改的Vbox在该列表中的位置。然后再使用这个索引 public int getId (Action event){ Button button= event.getSource(); Vbox vbox= button.getParent(); H

我有一个Hbox,其中包含Vbox,每个Vbox本身包含可以添加或删除的其他元素以及一些控制按钮。现在,我想在我的模型中添加或删除这些灵活的元素,我需要知道这是在哪个Vbox中发生的

我的尝试是获取Hbox的子项,并检查发生/更改的Vbox在该列表中的位置。然后再使用这个索引

public int getId (Action event){  
  Button button= event.getSource();  
  Vbox vbox= button.getParent();  
  Hbox hbox= vbox.getParent(); 
  hbox.getChildrenUnmodifiable();
  ....//TODO
}
问题是如果我打印
hbox.getChildrenUnmodifiable()它告诉我:

[VBox@1402dd44, Separator@4eaff333[styleClass=分隔符],栅格hgap=0.0,vgap=0.0,对齐=左上角]

在我添加其他Vbox之后,它只添加

网格hgap=0.0,vgap=0.0,对齐=左上方]

一次又一次地退出,但没有向我显示已添加的VBoxe的更多信息

我使用
hbox.getChildren().add(fxmloader.load(getClass().getResource(“/VBoxElement.fxml”))从另一个.fxml文件加载Vboxes

现在我想知道这是否是一种获取我正在使用的Vbox的Indexnumber的正确方法?如果有人对如何获取我的Hbox的工作索引有什么建议? 这是我的第一个JavaFX项目,如果我不理解,请随时纠正我。

正如James_D所说:

ObservableList只是java.util.List的子接口,因此您可以 只需调用所有常用方法:indexOf(…)、add(…)、remove(…), etc–詹姆斯·路德5月14日15:41


谢谢,很好。正如我第一次期望的那样,但我弄乱了我的fxml结构,我添加的fxml没有包含VBox作为根元素,它包含一个网格。来自网格的
toString()
在输出中生成网格
hgap=0.0,vgap=0.0,alignment=TOP_LEFT
observeList
只是
java.util.List
的子接口,因此您可以调用所有常用的方法:
indexOf(…)
add(…)
remove(…)
,等等