I find GroupLayout to be fine to code by hand, certainly no harder than GridBagLayout, though I can certainly see why it would be a favorite for tools to use. But it is meant for putting things into columns and rows, not for centering buttons. You have the wrong layout manager.
To put a panel in the center of a screen that you want the user to be able to resize (which should be the default), you can put your panel in the BorderLayout.CENTER of a BorderLayout (which is the default layout manager on a JFrame). Now, by default, the panel will also stretch to fit the frame unless you also put some things in the NORTH, SOUTH, EAST, and/or WEST portions of the BorderLayout. Whether this works for you depends on what you're doing.
I also understand you can put the panel to be centered into a GridBagLayout with nothing else in it, and that will center it. It isn't my method, but I mention it for completeness.
If you want a group of buttons to stay centered, first choose a layout manager for a panel to hold the buttons -- grid layout works only if you want the buttons to be the same size, you can use GropuLayout to put them in rows and columns, a BoxLayout can put a string of buttons horizontally or stack them vertically.
Then you can put THAT panel into another panel with a different layout - say, in the SOUTH portion of a BorderLayout - to center them horizontally, or the WEST portion of a BorderLayout to center them vertically. This is what rcamrick is talking about when he mentions "nested panels".