Why HBox.setHgrow doesn't work for you
You use a Group as the root node of your scene and groups are not resizable, so the group size does not adjust to the scene's size.
A Group will take on the collective bounds of its children and is not directly resizable.
By default, a Group will "auto-size" its managed resizable children to their preferred sizes during the layout pass
In general, you very rarely want to use a Group as the root node for a scene.
How to Fix it
Use only resizable nodes in your scene (Pane subclasses or Control subclasses).
Sample
Substitute your start method with the method below which removes the Group root node and instead makes the HBox the root node for the scene:
public void start(Stage primaryStage) {
HBox hbox = new HBox(10);
TextField field = new TextField();
HBox.setHgrow(field, Priority.ALWAYS);
hbox.setAlignment(Pos.BASELINE_LEFT);
hbox.getChildren().addAll(
new Label("Search:"), field, new Button("Go")
);
hbox.setPadding(new Insets(10));
Scene scene = new Scene(hbox, 600, 250, Color.WHITE);
primaryStage.setScene(scene);
primaryStage.show();
}
Output of the sample after resizing the window (you can see that the search text field grows and shrinks to fit available space as requested):