0

我试图在控制器类中获取 TextField 的 X、Y 位置,我已经将其与标签和组合框一起包装在 hbox 中。

我知道通常你可以通过调用获得 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>`

我什至尝试过 get addFieldName.getWidth(),它也返回 0 。

4

1 回答 1

0

很少有属性Node可以让您获得其边界的详细信息。

喜欢getBoundsInLocal()getBoundsInParent();

请参阅getBoundsInLocal以获取参考。

于 2013-07-08T04:48:33.267 回答