HBoxの JavaFXドキュメントには次のように書かれています。
hbox のサイズが適切な幅よりも大きく変更された場合、デフォルトでは、子は適切な幅に維持され、余分なスペースは未使用のままになります。アプリケーションが 1 つ以上の子に余分なスペースを割り当てたい場合は、必要に応じて子に hgrow 制約を設定できます。詳細は、「オプションのレイアウト制約」を参照してください。
添付の画像で、ボタンが横幅を埋めていないのはなぜですか?
HBox.setHgrow(field, Priority.ALWAYS)
ドキュメントが参照しているコードと同じではありませんか。