// UFPR
// Engenharia Elétrica
// TE091 - Programação Orientada a Objetos
// Exemplo da aula de 10 de junho de 2016
// Prof. Carlos Marcelo Pedroso

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

public class ExemploSwing {  
            private  JFrame f, frameEntrarDados;
            private JButton b1, b2;
            private  JTextArea area;
            private JMenuBar mb;  
            private JMenu file,edit,help;  
            private JMenuItem cut,copy,paste,dados;  
            private MyEventListener mel;
         
            ExemploSwing() {
                    f=new JFrame("Exemplo teste");//creating instance of JFrame  
                    frameEntrarDados=new JFrame("Entrada de Dados");
		    b1=new JButton("Click");//creating instance of JButton        
	            b2=new JButton("Ola");//creating instance of JButton  
                    area=new JTextArea("Olá Pessoal!!");

                    mb=new JMenuBar();
                    file=new JMenu("File");  edit=new JMenu("Edit"); help=new JMenu("Help");  
                    cut=new JMenuItem("Cut"); copy=new JMenuItem("Copy"); paste = new JMenuItem("Paste");  dados= new JMenuItem("Entrar Dados");          

                    mb.setBounds(5,5,400,40);  
                    mb.add(file); mb.add(edit); mb.add(help);
                    edit.add(cut); edit.add(copy);edit.add(paste);
                    file.add(dados);
                    f.add(mb);

                    mel =  new MyEventListener();

                    cut.setActionCommand("Cut"); copy.setActionCommand("Copy"); paste.setActionCommand("Paste"); dados.setActionCommand("EntrarDados");
                    b1.setActionCommand("Click"); b2.setActionCommand("Ola");
             

                    b1.addActionListener(mel); b2.addActionListener(mel); cut.addActionListener(mel); copy.addActionListener(mel); 
                    paste.addActionListener(mel); dados.addActionListener(mel);

                    area.setBounds(10,300,300,50); 
                    area.setBackground(Color.black);  
                    area.setForeground(Color.white);  


                    b1.setBounds(100,100,100, 40);//x axis, y axis, width, height  
		    b2.setBounds(220,100,100, 40);//x axis, y axis, width, height  			      
    
                    f.add(area);
		    f.add(b1);//adding button in JFrame  
		    f.add(b2);//adding button in JFrame  			      


		    f.setSize(400,500);//400 width and 500 height  
		    f.setLayout(null);//using no layout managers  
		    f.setVisible(true);//making the frame visible 
            }


	    public static void main(String[] args) {  
		    new ExemploSwing(); 
	    }  

            private class MyEventListener implements ActionListener{
	      public void actionPerformed(ActionEvent e) {
		 String command = e.getActionCommand();  
		 if (command.equals( "Click" ))  {
		    area.setText("Voce pressionou o botão Click.");
		 }
		 else if (command.equals( "Ola" ) )  {
		    area.setText("Você pressionou o botão Ola."); 
		 }
                  else if (command.equals( "Cut" ) )  {
		    area.setText("Você pressionou o menu Cut."); 
		 }
                 else if (command.equals( "Copy" ) )  {
		    area.setText("Você pressionou o menu Copy."); 
		 }
                else if (command.equals( "Paste" ) )  {
		    area.setText("Você pressionou o menu Paste."); 
		 } 
                else if (command.equals( "EntrarDados" ) )  {
                        String input = JOptionPane.showInputDialog("Digite:");
		        area.setText("Você digitou: "+input); 
                } 
		else  {
		    area.setText("Ops... não sei processar o evento...");
		 }  	
	      }		
	   }

    }  

