如何动态设置HGrow属性?

时间:2013-10-11 18:59:46

标签: java javafx-2 javafx

我正在尝试让我的TextFill在HBox中自动调整大小。要使用sceneBuild或fxml代码来实现这一点,只需将HGrow属性设置为如下图所示:

enter image description here

但由于某些原因,我必须通过java代码动态生成我的组件,这样我就无法找到如何将此属性设置为我的textField。

HBox hBox = new HBox();
TextField autoCompleteNome = new AutoCompleteTextField();
TextField autoCompleteCargo = new AutoCompleteTextField();
Button btnRemove = new Button("Excluir");

hBox.setAlignment(Pos.CENTER);
hBox.setFillHeight(true);
hBox.setMinHeight(39);
hBox.setSpacing(5);

autoCompleteName.setAlignment(Pos.CENTER_LEFT);
autoCompleteName.autosize();
autoCompleteName.setMinHeight(30);
autoCompleteName.setPrefHeight(30);
autoCompleteName.setItems(data);
autoCompleteName.setPromptText("Nome");

hBox.getChildren().add(autoCompleteName);

1 个答案:

答案 0 :(得分:1)

使用静态HBox.setHgrow(node, priority)函数设置HBox子节点的增长优先级。

HBox javadoc class description中有一个示例。

“例如,如果hbox需要为TextField分配所有额外空间:”

 HBox hbox = new HBox();
 TextField field = new TextField();
 HBox.setHgrow(field, Priority.ALWAYS);
 hbox.getChildren().addAll(new Label("Search:"), field, new Button("Go"));