import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;


public class Exemplo_Barra_De_Menu extends JFrame implements ActionListener
{
	JButton bt_Sair, bt_Potencia, bt_Multiplicar, bt_Dividir, bt_Subtrair, bt_Adicionar, bt_Limpar;
	JPanel Painel_Norte, Painel_Sul; 
	JPanel Painel_Centro,  Painel_Centro1,  Painel_Centro2,  Painel_Centro3,  Painel_Centro4;	
	JTextField tf_Primeiro_Numero, tf_Segundo_Numero, tf_Resultado;
	
	JMenuBar Barra_De_Menu = new JMenuBar();
	
	JMenu Menu_Arquivo = new JMenu("Arquivo");
	JMenu Menu_Operacoes = new JMenu ("Operações");
	JMenu Menu_Ajuda = new JMenu ("Ajuda");
	
	JMenuItem MenuItem_Sair, MenuItem_Limpar;
	JMenuItem MenuItem_Adicionar,  MenuItemSubtrair, MenuItem_Dividir, MenuItem_Multiplicar, MenuItem_Potencia;  

	public Exemplo_Barra_De_Menu()
	{
		setJMenuBar(Barra_De_Menu);
		
		Barra_De_Menu.add(Menu_Arquivo);
		Menu_Arquivo.add(MenuItem_Limpar = new JMenuItem("Limpar"));
		Menu_Arquivo.addSeparator();
		Menu_Arquivo.add(MenuItem_Sair   = new JMenuItem("Sair do Sistema")); 
		///////////////////////////////////
		Barra_De_Menu.add(Menu_Operacoes);
		Menu_Operacoes.add(MenuItem_Adicionar = new JMenuItem("+ | Adicionar"));
		Menu_Operacoes.add(MenuItemSubtrair = new JMenuItem("- | Subtrair"));
		Menu_Operacoes.add(MenuItem_Dividir = new JMenuItem("/ | Dividir"));
		Menu_Operacoes.add(MenuItem_Multiplicar = new JMenuItem("* | Multiplicar"));
		Menu_Operacoes.add(MenuItem_Potencia = new JMenuItem("^ | Potência"));
		////////////////////////////////////
		Barra_De_Menu.add(Menu_Ajuda);
		
		
		getContentPane().setLayout(new BorderLayout());
		getContentPane().add("North", Painel_Norte = new JPanel(new FlowLayout(FlowLayout.LEFT)));
		Painel_Norte.add(new JLabel("OPERAÇÕES MATEMÁTICAS")); 
		getContentPane().add("Center",  Painel_Centro = new JPanel(new GridLayout(4, 1)));
		Painel_Centro.add(Painel_Centro1 = new JPanel (new FlowLayout(FlowLayout.RIGHT)));
		Painel_Centro1.add(new JLabel("Primeiro Número:"));
		Painel_Centro1.add(tf_Primeiro_Numero = new JTextField("0",15)); 
		Painel_Centro.add(Painel_Centro2 = new JPanel (new FlowLayout(FlowLayout.RIGHT)));
		Painel_Centro2.add(new JLabel("Segundo Número:"));
		Painel_Centro2.add(tf_Segundo_Numero = new JTextField("0",15));
		Painel_Centro.add(Painel_Centro3 = new JPanel (new FlowLayout(FlowLayout.RIGHT)));
		Painel_Centro3.add(new JLabel("Resultado:"));
		Painel_Centro3.add(tf_Resultado = new JTextField("0",15));
		tf_Resultado.setEditable(false);		
		Painel_Centro.add(Painel_Centro4 = new JPanel (new FlowLayout(FlowLayout.CENTER)));
		Painel_Centro4.add(bt_Adicionar = new JButton("+")); 
		Painel_Centro4.add(bt_Multiplicar = new JButton("*"));
		Painel_Centro4.add(bt_Dividir = new JButton("/"));
		Painel_Centro4.add(bt_Subtrair = new JButton("-"));
		Painel_Centro4.add(bt_Potencia = new JButton("^")); 
		
		getContentPane().add("South", Painel_Sul = new JPanel(new FlowLayout(FlowLayout.RIGHT)));
		Painel_Sul.add(bt_Limpar = new JButton("Limpar"));
		Painel_Sul.add(bt_Sair = new JButton ("Sair"));	
		bt_Sair.addActionListener(this);
		bt_Adicionar.addActionListener(this);
		bt_Limpar.addActionListener(this);
		bt_Multiplicar.addActionListener(this);
		bt_Dividir.addActionListener(this);
		bt_Subtrair.addActionListener(this);
		bt_Potencia.addActionListener(this);
		///////////////////////////////////////
		MenuItem_Sair.addActionListener(this); 
		MenuItem_Limpar.addActionListener(this);
		MenuItem_Adicionar.addActionListener(this);
		MenuItemSubtrair.addActionListener(this);
		MenuItem_Dividir.addActionListener(this);
		MenuItem_Multiplicar.addActionListener(this);
		MenuItem_Potencia.addActionListener(this);
		///////////////////////////////////////
		
		
		pack();
	 
		setResizable(true);
		setVisible(true);
	}	
	public void actionPerformed (ActionEvent e)
	{
		double Primeiro_Numero = Double.parseDouble(tf_Primeiro_Numero.getText());
		double Segundo_Numero = Double.parseDouble(tf_Segundo_Numero.getText()); 
		double Resultado = 0; 
		if((e.getSource()==bt_Multiplicar)||(e.getSource()==MenuItem_Multiplicar))
		{
				Resultado = Primeiro_Numero * Segundo_Numero;
				tf_Resultado.setText(""+Resultado);
		}	
		if((e.getSource()==bt_Dividir)||(e.getSource()==MenuItem_Dividir))
		{
				Resultado = Primeiro_Numero / Segundo_Numero;
				tf_Resultado.setText(""+Resultado);
		}	
		if((e.getSource()==bt_Subtrair)||(e.getSource()==MenuItemSubtrair))
		{
				Resultado = Primeiro_Numero - Segundo_Numero;
				tf_Resultado.setText(""+Resultado);
		}	
		if((e.getSource()==bt_Potencia)||(e.getSource()==MenuItem_Potencia))
		{
				Resultado = Math.pow(Primeiro_Numero, Segundo_Numero);
				tf_Resultado.setText(""+Resultado);
		}	
		
		if((e.getSource()==MenuItem_Sair))
		{
			System.exit(0);
		}
		if((e.getSource()==bt_Sair))
		{
			System.exit(0);
		}
		if((e.getSource()==bt_Adicionar)||(e.getSource()==MenuItem_Adicionar))
		{
			Resultado = Primeiro_Numero + Segundo_Numero; 
			tf_Resultado.setText(""+Resultado);	 	
			
		}
		if((e.getSource()==bt_Limpar)||(e.getSource()==MenuItem_Limpar))
		{
			 tf_Primeiro_Numero.setText("");
			 tf_Segundo_Numero.setText("");
			 tf_Resultado.setText("");		
		}						
	}		
	public static void main (String args [])
	{
		new Exemplo_Barra_De_Menu();
	}		
}

