JButon com ImageIcon não Redimensiona

Bom pessoal,

Estou tendo um problema em ajustar o tamanho de meu JButton pois ele fica muito grande não compatível com o tamanho o ícone que se encontra nele.

Já li e reli umas 10 vezes o código mas não consegui descobrir o por que de não redimensionar certo.

O tamanho da imagem é 40x40 pixelx

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class TesteBotoes extends JFrame{
	
	public TesteBotoes(){
		setTitle("TesteBotoes");
		setSize(new Dimension(500,500));
		setVisible(true);
		setLocation(50,50);
		setLayout(new BorderLayout());
		
		JPanel panel = new JPanel();
		panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
		
		ImageIcon palhetaIcone = createImageIcon("palhetaIcon.png");
		
        JButton buttonPalhetaAlta = new JButton(palhetaIcone);        
        panel.add(buttonPalhetaAlta);
        add(panel,BorderLayout.LINE_START);
	}
	
	private ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = ButtonDemo.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
	
	public static void main(String[] args){
		TesteBotoes f = new TesteBotoes();
	}
}

Vlw pessoal se alguém souber me avisa