[ERRO] JOptionPane abrindo todas as caixas de mensagens

**Bom, eu estou tentando fazer uma calculadora usando o JFrame, só que eu queria concertar uma coisa, quando eu clico no botão “Somar” abre a caixa de mensagem de todos os outros botoes que eu coloquei, então eu clico em somar e aparece a subtração em seguida, depois multiplicação e por ai vai, eu queria saber como faz para aparecer somente a caixa de mensagem do botão que eu clicar. Obrigado! **

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Calculadora extends JFrame implements ActionListener{

JTextField tfNumero1, tfNumero2;
JButton btSoma, btSubtracao, btMultiplicacao, btDivisao;

public double numero1, numero2;

public Calculadora() {
	setSize(400,150);
	setTitle("Calculadora");
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	
	tfNumero1 = new JTextField(15);
	tfNumero2 = new JTextField(15);
	btSoma = new JButton("Somar");
	btSubtracao = new JButton("Subtrair");
	btMultiplicacao = new JButton("Multiplicar");
	btDivisao = new JButton("Dividir");
	
	getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
	
	getContentPane().add(tfNumero1);
	getContentPane().add(tfNumero2);
	getContentPane().add(btSoma);
	getContentPane().add(btSubtracao);
	getContentPane().add(btMultiplicacao);
	getContentPane().add(btDivisao);
	
	btSoma.addActionListener(this);
	btSubtracao.addActionListener(this);
	btMultiplicacao.addActionListener(this);
	btDivisao.addActionListener(this);
	
}

@Override
public void actionPerformed(ActionEvent e) {

	numero1 = Double.parseDouble(tfNumero1.getText());
	numero2 = Double.parseDouble(tfNumero2.getText());
	
	if(e.getSource()==btSoma);{
		JOptionPane.showMessageDialog(null, "A soma é : "+(numero1+numero2));
	}

	if(e.getSource()==btSubtracao);{
		JOptionPane.showMessageDialog(null, "A subtração é : "+(numero1-numero2));
	}
	
	if(e.getSource()==btMultiplicacao);{
		JOptionPane.showMessageDialog(null, "A multiplicação é : "+(numero1*numero2));
	}
	
	if(e.getSource()==btDivisao);{
		JOptionPane.showMessageDialog(null, "A divisão é : "+(numero1/numero2));
	}
	
}

}

eu utilizaria o switch case ao invez de ifs. e vc colocou ; no if
add o else if:

if(e.getSource() == btSoma){
        JOptionPane.showMessageDialog(null, "A soma é: " + (numero1+numero2));
} else if( oura condição) {

}

Veja se isso ajuda: