Вы можете создать JFrame с nullLayout, а затем использовать JLabel с изображением.
Теперь для кнопок используйте setContentAreaFilled (false) и setBorderPainted (false), чтобы удалить стиль кнопки по умолчанию, и он будет выглядеть точно так же, как изображение, которое вы передали при создании кнопки.
Чтобы расположить фрейм в центре, используйте setLocationRelativeTo (null).
Я думаю, что это должно решить вашу проблему.