2016-04-30 37 views
0

私は以下の問題があります。私はAnchorPaneに包まれたこのVBoxの持っている: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に子を追加しました。私は以前、私のコントローラの初期化メソッドにgetHeight()を持っていました。そこには0が返されました。今度はボタンの高さを返すメソッドを作成しました。 – Mark

+0

または3. 'VBox'はまだレイアウトされていません... – fabian

関連する問題