如何使用TextField相应地调整Rectangle的大小?

时间:2012-06-24 18:09:09

标签: java resize javafx shape fxml

我想使用TextField从JavaFX调整Rectangle形状,TextField会在使用Anchors调整Window大小时自动调整大小。

我尝试将锚点添加到矩形中,但它不会从我从SceneBuilder设置的宽度调整大小。

这么简短的故事:当我的TextField调整大小因为我的Window调整大小时,Rectangle应该调整为与TextField相同的宽度。感谢

1 个答案:

答案 0 :(得分:3)

您可以将矩形的宽度绑定到文本字段:

myRectangle.widthProperty().bind(myTextField.widthProperty());

示例:

public class Demo extends Application {

    @Override
    public void start(Stage stage) {
        Group root = new Group();
        Scene scene = new Scene(root);
        stage.setScene(scene);

        TextField myTextField = new TextField("default");
        Rectangle myRectangle = new Rectangle();
        myRectangle.setHeight(30);
        myRectangle.setFill(Color.AQUA);
        myRectangle.widthProperty().bind(myTextField.widthProperty());

        final VBox hb = new VBox(10);
        hb.setPadding(new Insets(5));
        hb.getChildren().addAll(myTextField, myRectangle);
        scene.setRoot(hb);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}