Как изменить размер прямоугольника с помощью TextField?

Я хочу изменить размер прямоугольной формы из JavaFX в соответствии с текстовым полем, которое автоматически изменяет размер при изменении размера окна с помощью привязок.

Я также попытался добавить привязки к прямоугольнику, но его размер не изменится по ширине, которую я установил в SceneBuilder.

Итак, короткая история: когда размер моего TextField изменяется из-за изменения размера моего окна, прямоугольник должен измениться до той же ширины, что и TextField. Спасибо


person user1236048    schedule 24.06.2012    source источник
comment
Чтобы быстрее получить помощь, попробуйте предоставить SSCCE.   -  person Peter Lang    schedule 24.06.2012


Ответы (1)


Вы можете привязать ширину прямоугольника к ширине текстового поля:

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);
    }
}
person Uluk Biy    schedule 25.06.2012