Redimensionando ícone para caber no JButton em Java?

Sempre que defino um ícone para o meu JButton, ele nem sempre é dimensionado corretamente. Como redimensionar o ícone para caber totalmente no botão?

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);

questionAnswers(2)

yourAnswerToTheQuestion