Вы можете использовать BufferedImage, затем вызвать getSubImage () и разбить его таким образом.
Альтернативный подход состоит в том, если кнопки расположены на изображении так, как вы этого хотите, и вы просто хотите создать кликабельныйгорячие точки, вы можете прослушивать события мыши на изображении и проверять положение курсора по массиву координат, которые определяют положение каждой кнопки.