Как вставить ImageIcon в JButton на Java

Вы можете добавить изображение или иконку к кнопке в java в момент объявления JButton в конструкторе:

JButton b = new JButton(Icon icon); 
ou:

JButton b = new JButton(String text, Icon icon); 
Example:

import java.awt.Dimension; 
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;

public class JButtonTest extends JFrame{

JButton b = new JButton("Open", new ImageIcon("icon.png"));

public JButtonTest(){
JFrame frame = new JFrame("JFrame test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
b.setPreferredSize(new Dimension(150,100));
frame.getContentPane().add(b);
frame.pack();
}

public static void main(String[] args) {
new JButtonTest();
}
}
Output
вставить изображение или иконку в jbutton в java

Метод  setIcon

Вставка значка также возможна после создания кнопки путем вызова JButton.setIcon(ImageIcon img)который находится в суперклассе AbstractButton.

ImageIcon image = new ImageIcon("icon.png"); 
b.setIcon(изображение);

Import ImageIcon from classpath

Чтобы загрузить изображение из папки, используйте метод ImageIO.read(). Этот метод принимает путь к изображению (ресурсу) в качестве аргумента, который хранится в нашем проекте. Ява. Метод  getClass().getResource() использует загрузчик классов для загрузки ресурса. Это означает, что этот ресурс должен находиться в корне вашего проекта, чтобы он был загружен.

добавить изображение или иконку в classpath

try {
Image img = ImageIO.read(getClass().getResource("/icon.png"));
b.setIcon(new ImageIcon(img));
} catch (IOException ex) {
}
References:
Oracle Documentation: AbstractButton: setIcon method
Учебники по Java: Чтение изображения
Stackoverflow: getclass.getressource