2013-07-08 5 views
0

Я пытаюсь получить X, Y положение TextField в классе контроллера. Я завернул в hbox вместе с Label и ComboBox.Получить позицию узла внутри hbox/vbox

Я знаю, как правило, вы можете получить X, Y, вызвав layoutX() и layoutY(), но он вернулся 0.

Здесь находятся FXML код

<HBox alignment="CENTER_LEFT" padding="$x1" prefHeight="-1.0" prefWidth="-1.0" spacing="10.0"> 
    <children> 
     <Label maxWidth="-Infinity" minWidth="-Infinity" prefWidth="105.0" text="Add a Field:" /> 
     <TextField fx:id="addFieldName" prefWidth="200.0" promptText="Field Name" /> 
     <ComboBox fx:id="addFieldTypeComboBox" prefWidth="180.0" promptText="Choose a field type..."> 
      <items> 
      <FXCollections fx:factory="observableArrayList"> 
       <String fx:value="Item 1" /> 
       <String fx:value="Item 2" /> 
       <String fx:value="Item 3" /> 
      </FXCollections> 
      </items> 
     </ComboBox> 
     <Button fx:id="addFieldButton" mnemonicParsing="false" onAction="#handleAddFieldButtonAction" text="Add" /> 
    </children> 
</HBox>` 

Я даже пытался получить addFieldName.getWidth() и возвращает 0, а ,

+0

Вы решаете эту проблему. Я застрял в той же проблеме. макет, boundinparent, не работает. – user43968

ответ

0

Существует несколько свойств Node, которые позволяют получить детали его границ.

getBoundsInLocal() и getBoundsInParent();

См. getBoundsInLocal для справки.

+0

Я пробовал оба и все свойства 0. – francisOpt

Смежные вопросы