Calculadora em swing usando notepad++

fala galera blz?

Estou estudando sobre a biblioteca swing faz alguns dias e vendo alguns exemplos na net e resolvi criar uma calculadora, a parte grafica ficou ótima agora preciso de ajuda na parte da realização de operações, como faço pra capturar do JTextField os valores e identificar a operação(adicão,subtração,multiplicação,divisão) para realizar os cálculos?

segue o código na íntegra:


import javax.swing.*;
import java.awt.*;
import java.awt.event.*; 

	public class Calculadora extends JFrame implements ActionListener 
	{
	 
	 private JButton um;
	 private JButton dois;
	 private JButton tres;
	 private JButton quatro;
	 private JButton cinco;
	 private JButton seis;
	 private JButton sete;
	 private JButton oito;
	 private JButton nove;
	 private JButton zero;
	 private JButton adicao;
	 private JButton subtracao;
	 private JButton multiplicacao;
	 private JButton divisao;
	 private JButton ponto;
	 private JButton igual;
	 private JTextField campo;
	 String valor;
	 
	 
	 //Construtor para a calculadora
	 public Calculadora()
	 {
	     super("Calculator");//Define o título da janela
		 setSize(300,300);//Define o tamanho da janela
		  setVisible(true);//Torna a janela visível
		  setResizable(false);//Não deixa a janela ser redimensionada  
		 
		 Container c = getContentPane();//Container Principal para adicionar componentes
		 c.setLayout(new BorderLayout());//Seta o tipo de Layout no container principal
		 
		 Container c2 = new JPanel();//Container usando o JPanel
		 c2.setLayout(new GridLayout(4,4,7,7));//Seta o tipo de Layout no container c2
		 
		 //Inicializando botões
		 um = new JButton("1");
		 dois = new JButton("2");
		 tres = new JButton("3");
		 quatro = new JButton("4");
		 cinco = new JButton("5");
		 seis = new JButton("6");
		 sete = new JButton("7");
		 oito = new JButton("8");
		 nove = new JButton("9");
		 zero = new JButton("0");
		 adicao = new JButton("+");
		 subtracao = new JButton("-");
		 multiplicacao = new JButton("*");
		 divisao = new JButton("/");
		 ponto = new JButton(".");
		 igual = new JButton("=");
		 campo = new JTextField();
		 
		 //Adicionando botões no container c2
		 c2.add(sete);
		 c2.add(oito);
		 c2.add(nove);
		 c2.add(divisao);
		 c2.add(quatro);
		 c2.add(cinco);
		 c2.add(seis);
		 c2.add(multiplicacao);
		 c2.add(um);
		 c2.add(dois);
		 c2.add(tres);
		 c2.add(subtracao);
		 c2.add(zero);
		 c2.add(ponto);
		 c2.add(igual);
		 c2.add(adicao);
		 		 
		 //Adicionando o container c2 no container principal
		 c.add(BorderLayout.CENTER, c2);
		 
		 //Aumentando o tamanho no JTextField com uma fonte maior
		 campo.setFont(new Font("Arial Black", Font.PLAIN, 18));
		 
		 //Adicionando o JTextField no container principal
		 c.add(BorderLayout.NORTH, campo);
		 
		 //Interface ouvinte para tratamento de eventos
		 um.addActionListener(this);
		 dois.addActionListener(this);
		 tres.addActionListener(this);
		 quatro.addActionListener(this);
		 cinco.addActionListener(this);
		 seis.addActionListener(this);
		 sete.addActionListener(this);
		 oito.addActionListener(this);
		 nove.addActionListener(this);
		 zero.addActionListener(this);
		 adicao.addActionListener(this);
		 subtracao.addActionListener(this);
		 multiplicacao.addActionListener(this);
		 divisao.addActionListener(this);
		 ponto.addActionListener(this);
		 igual.addActionListener(this);
	 }
	
	 public static void main(String args[])
	 {
	 
		 Calculadora app = new Calculadora();
		 app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Define método de fechamento da aplicação
	 
	 }
	 
	 
	 public void actionPerformed(ActionEvent ev)
	    {
		 if(ev.getSource() == um)
		 {
			String valor = campo.getText();
			campo.setText(valor + "1");
			
		 }
		 
		 if(ev.getSource() == dois)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "2");
		 }
		
		 if(ev.getSource() == tres)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "3");
		 }
		 
		 if(ev.getSource() == quatro)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "4");
		 }
		 
		 if(ev.getSource() == cinco)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "5");
	     }
		 if(ev.getSource() == seis)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "6");
		 }
		 
		 if(ev.getSource() == sete)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "7");
		 }
		 
		 if(ev.getSource() == oito)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "8");
		 }
		 
		 if(ev.getSource() == nove)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "9");
		 }
		 
		 if(ev.getSource() == zero)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "0");
		 }
		 
		 if(ev.getSource() == adicao)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "+");
		 }
		
		 if(ev.getSource() == subtracao)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "-");
		 }
		 
		 if(ev.getSource() == multiplicacao)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "*");
		 }
		 
		 if (ev.getSource() == divisao)
		 {
			 String valor = campo.getText();
			 campo.setText(valor + "/");
		 }
	     
	  
	  
	    }//Finaliza o ActionPerformed
		
		  
	}//Finaliza a classe principal