It's not often we get a real JFX question here lately. Imagine my disappointment to see this is a 6 year old
thread that's already answered! lol (We need to get some new recruits in here...)
Anyway, there's usually a few ways to do this depending on what you're working with (in terms of desired behavior). I didn't bother carefully reading the older posts above but this is my take on it.
Adding a spacing property to your container like you did is one way, but if the container can grow larger, the buttons will stay too close (well, you may actually want that, but let's say you want to evenly space them even if the container grows).
What I often do is add spacer Panes. The Panes can be set to grow with the container's size AND will size themselves relative to the others. You can also use other containers like I did here for the middle spacer, but if I don't need VBox/HBox functionality I usually go with Pane, guessing that it might perform a bit better (I never looked into that).
Padding and other HBox attributes added for fun (it make the preview look better in Scene Builder).
The HBox.hgrow attribute is key here. There's also ALWAYS, NEVER and INHERIT (default). Definitely play with this stuff in Scene Builder, you can get a live view of how it works (and even an interactive preview with the Preview menu), and it'll show you a lot of the different tools you have to "make it do the thing" that you want it to do. It's interesting how much you can do with just a combination of HBox/VBox containers and a few of these settings.