¿Cambiar el tamaño del icono para que se ajuste a JButton en Java?

Cada vez que configuro un icono para mi JButton, no siempre tiene el tamaño correcto. ¿Cómo puedo cambiar el tamaño del icono para que se ajuste completamente al botón?

final JButton btnSanic = new JButton();
Image img = icon.getImage();
Image newimg = img.getScaledInstance(width, height, java.awt.Image.SCALE_SMOOTH);
icon = new ImageIcon(newimg);  
btnSanic.setIcon(icon);

Respuestas a la pregunta(2)

Su respuesta a la pregunta