Вы пытаетесь наложить текст поверх изображения или просто расположить текст вне изображения?
Позиционирование текста вне изображения является простым и является поведением по умолчанию, как упоминал @camickr.
Чтобы переместить текст наверх, вы можете:
ImageIcon icon = new ImageIcon(pathToicon);
JButton myButton = new JButton("Press me!", icon);
myButton.setVerticalTextPosition(SwingContstants.TOP);
Кроме того, обратите внимание, что только .gif, .jpg и .png. будет обрабатываться ImageIcon