2016-04-30 47 views
0

我有以下問題。我這有垂直框包裹在一個AnchorPane:JavaFX/FXML - 獲取VBox的高度

<AnchorPane> 
    <children> 
     <VBox fx:id="sidebar" prefHeight="400.0" prefWidth="150.0" AnchorPane.bottomAnchor="0.0" AnchorPane.topAnchor="0.0"/> 
    </children> 
</AnchorPane> 

而且我想這個VBOX的顯示高度(甚至後如調整大小Anchorpane周圍)
所以我試過如下:

double height = sidebar.getHeight(); 

但由於某種原因getHeight()只返回0.所以...我如何獲得該vbox的高度?

回答

0

有幾個可能的原因,爲什麼getHeight()返回'0'。

  1. 您的VBox不包含任何孩子。
  2. 它還沒有在SceneGraph呢。
+0

我剛剛意識到您爲vbox設置了錨定約束。所以'sidebar.getHeight()'應該返回一個等於'AnchorPane'高度的值。你確定你使用了正確的側邊欄參考嗎? – jns

+0

好的,我現在已經把孩子加入了VBox。我之前在Controller的初始化方法中使用了getHeight(),它返回0.現在我編寫了一個方法,它返回按鈕按下時的高度,它在那裏工作。 – Mark

+0

或者3.「VBox」還沒有完全展開...... – fabian