No they won't work unless you set the layout to null. How about this. In the component that is holding you panel with the buttons, set the layout to null so that you can specify it's exact size. However, to handle the resizing do something like this:
This way, everytime the window is resized (and, therefore repainted) the component will adjust itself to the size of it's parent container. You'll have to fuss with the exact variables to get the type of resizing you want but this shows you the idea. I use this a fair amount when a layout manager won't cut it. To be extra efficient
you should create a window listener that will detect the resize event and only call resizeComponent() there.
Having said all this, the GridBagLayout might be able to handle the type of layout you want and you can avoid all of this from the outset. Perhaps that might be a better place to start. Good luck.
Sean