Larback - Retornando conhecimento

Hoje tem prova.

GUI - Calculadora gráfica utilizando a interface MouseListener

package diversos;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;

public class CalculadoraWithMouse extends JFrame implements MouseListener,
														ActionListener{
	private static final long serialVersionUID = 1L;
	JTextField jt1 = new JTextField(5);
	JTextField jt2 = new JTextField(5);
	JTextField jtR = new JTextField(5);
	JLabel jl1 = new JLabel("1º Número");
	JLabel jl2 = new JLabel("2º Número");
	JLabel jlR = new JLabel("Resultado");
	JButton jbMais = new JButton("+");
	JButton jbMenos = new JButton("-");
	JButton jbDividir= new JButton("/");
	JButton jbMultiplicar = new JButton("*");
	
	JMenuBar jmb = new JMenuBar();
	JMenu jmnA = new JMenu("Arquivo");
	JMenuItem jmiAjuda = new JMenuItem("Ajuda");
	JMenuItem jmiSair = new JMenuItem("Sair");
	
	JSeparator js = new JSeparator();
	
	public CalculadoraWithMouse() {
		super("CalcMouse");
		jmnA.add(jmiAjuda);
		jmnA.add(js);
		jmnA.add(jmiSair);
		jmb.add(jmnA);
		setJMenuBar(jmb);
		
		jmiAjuda.addActionListener(this);
		jmiSair.addActionListener(this);
		setSize(190,150);
		setLayout(new FlowLayout());
		jt1.setHorizontalAlignment(JTextField.RIGHT);
		jt2.setHorizontalAlignment(JTextField.RIGHT);
		jtR.setHorizontalAlignment(JTextField.RIGHT);
		add(jl1);
		add(jt1);
		add(jl2);
		add(jt2);
		add (jbMais);
		add(jbMenos);
		add(jbDividir);
		add(jbMultiplicar);
		add(jlR);
		add(jtR);
		jtR.setDisabledTextColor(Color.BLACK);
		jtR.setEnabled(false);
		jbMais.addMouseListener(this);
		jbMenos.addMouseListener(this);
		jbDividir.addMouseListener(this);
		jbMultiplicar.addMouseListener(this);
		setLocationRelativeTo(null);
		setVisible(true);
	}
	
	public static void main(String[] args){
		new CalculadoraWithMouse();
	}
	private double fazConta(String op, double n1, double n2){
		if (op.equals("+"))
			return n1+n2;
		else if (op.equals("-"))
			return n1-n2;
		else if (op.equals("/"))
			return n1/n2;
		else
			return n1*n2;
	}
	@Override
	public void mouseClicked(MouseEvent e) {}
	@Override
	public void mousePressed(MouseEvent e) {}
	@Override
	public void mouseReleased(MouseEvent e) {}
	@Override
	public void mouseEntered(MouseEvent e) {
		double n1=0,n2=0,r=0;
		String op = "";
		try{
			n1 = Double.parseDouble(jt1.getText());
			n2 = Double.parseDouble(jt2.getText());
			JButton x = (JButton) e.getSource();
			op = x.getText();
			r = fazConta(op, n1, n2);
			jtR.setText(String.valueOf(r));
		} catch(Exception ex){
			jtR.setText("#ERRO");
		}
	}

	@Override
	public void mouseExited(MouseEvent e) {}
	public void actionPerformed(ActionEvent ac){
		if (ac.getSource()==jmiSair)
			System.exit(0);
		if (ac.getSource()==jmiAjuda)
			JOptionPane.showMessageDialog(this, "Digite os números e passe o mouse no botão. Se não conseguir, envie o computador para a Oracle avisando sobre o BUG.");
	}
}
[br][br] Qualquer dúvida utilizem o nosso grupo do facebook. Bons estudos.