2014-05-14 16 views
0

我有一個包含Vbox的Hbox,每個Vbox本身包含可以添加或刪除的其他元素以及一些控制按鈕。現在我想在我的模型中添加或刪除這些靈活元素,並且我需要知道在哪個Vbox中發生這種情況。得到控制器類HBox元素的索引號

我的嘗試是讓Hbox的孩子們,並檢查Vbox,哪裏發生/改變,在這個列表中的位置。之後再和這個指數一起工作。

public int getId (Action event){ 
    Button button= event.getSource(); 
    Vbox vbox= button.getParent(); 
    Hbox hbox= vbox.getParent(); 
    hbox.getChildrenUnmodifiable(); 
    ....//TODO 
} 

存在的問題是,如果我打印hbox.getChildrenUnmodifiable();它顯示我的是:

[垂直框@ 1402dd44,分離器@ 4eaff333 [的styleClass =隔板],網格hgap指定= 0.0,vgap = 0.0,對準= TOP_LEFT]

和後我添加其他VBOX它只是增加了

網格hgap指定= 0.0,VGA p = 0.0,alignment = TOP_LEFT]

零件一遍又一遍,doesen't不再顯示有關已添加的Vbox的更多信息。

我從hbox.getChildren().add(FXMLLoader.load(getClass().getResource("/VBoxElement.fxml")));

現在的其他.fxml文件,我不知道這看起來像一個適當的辦法讓我的VBOX的我在哪裏工作的Indexnumber加載縱向方框?如果有人有任何建議如何獲得我的Hbox的工作指數? 這是我的第一個JavaFX項目,如果我錯過理解的東西,隨時糾正我。

+1

'ObservableList'只是'java.util.List'的一個子接口,所以你可以調用所有常用的方法:'indexOf(...)', 'add(..)','remove(...)'等 –

回答

0

由於James_D sayd:

ObservableList只是一個java.util.List的子接口,這樣你就可以 只是調用所有常見的方法:的indexOf(...),加(..)刪除(...), 等 - James_D 5月14日15:41

Thx,工作正常。正如我預期的那樣,但是我弄亂了我的fxml結構,並且我添加的fxml沒有包含一個VBox作爲根元素,它包含一個Grid。來自網格的toString()在輸出中產生網格hgap=0.0, vgap=0.0, alignment=TOP_LEFT