Я выполнил следующие шаги и смог успешно создать 'ImageButton'.
- Создать
JButton
- Добавлен слушатель действий
- Установить значок изображения (обратите внимание, я поместил значок
info.png
в папку src \ main \ resources и загружен с помощью загрузчика классов). Структура проекта такая же, как здесь.
- Установить пустое
Border
- Отключено заполнение области содержимого
- Отключена фокусировка
- Добавлено в панель содержания
PFB код, который работал для меня
JButton btnNewButton = new JButton("");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Info clicked");
}
});
String iconfilePath = this.getClass().getClassLoader().getResource("info.png").getFile();
btnNewButton.setIcon(new ImageIcon(iconfilePath));
btnNewButton.setBounds(10, 438, 39, 31);
btnNewButton.setBorder(BorderFactory.createEmptyBorder());
btnNewButton.setContentAreaFilled(false);
btnNewButton.setFocusable(false);
contentPane.add(btnNewButton);
Кнопка вывода из приведенного выше кода выглядит так: