我正在尝试让我的TextFill在HBox中自动调整大小。要使用sceneBuild或fxml代码来实现这一点,只需将HGrow属性设置为如下图所示:
但由于某些原因,我必须通过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);
答案 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"));