package OxnarTecnologia;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;

import java.util.Random;

public class GerarNumeroAleatorio2 extends JFrame implements ActionListener 
{
		int  Numeros_Aleatorios []  = new int [60];
		int  Numeros_Ordenados  []  = new int [60];
		////////////
		JButton Botoes_Numeros [] = new JButton [60];
		JPanel Painel_Botoes = new JPanel (new GridLayout(10, 6));
		int Contador =  0; 
		JMenuBar Barra_De_Menu = new JMenuBar();
		
		JMenu Menu_Arquivo, Menu_Operacoes, Menu_Ajuda; 	
		public GerarNumeroAleatorio2()
		{
				Metodo_Carrega_Vetor_Original(Numeros_Ordenados );
				Metodo_Carrega_Vetor_Aleatorio(Numeros_Ordenados,  Numeros_Aleatorios);
				setJMenuBar(Barra_De_Menu);
				
				Barra_De_Menu.add(Menu_Arquivo = new JMenu("Arquivo"));
				Barra_De_Menu.add(Menu_Operacoes = new JMenu("Operações"));
				Barra_De_Menu.add(Menu_Ajuda = new JMenu("Ajuda"));
				 
				getContentPane().setLayout(new BorderLayout());
				getContentPane().add(BorderLayout.CENTER, Painel_Botoes); 
				int i = 0;  
				while(i<60)	
				{		
						String aux = ""+Numeros_Aleatorios[i];	
						if(Numeros_Aleatorios[i]<10)
							{aux = "0"+Numeros_Aleatorios[i];}
						Painel_Botoes.add(Botoes_Numeros [i] = new JButton(aux));
						i++;	
				}	 

				i=0;


				while(i<60)	
				{		
						Botoes_Numeros[i].addActionListener(this);
						System.out.println("Adicionando ActionListener no botão"+(i+1));
						i++;	
				}				
				i=0;
				pack();
				setVisible(true);	
		}
		public static void main (String Args [])
		{
				new GerarNumeroAleatorio2();
		}
		public void actionPerformed (ActionEvent e)
		{
				int i = Integer.parseInt(e.getActionCommand()); 
				if(e.getSource()==Botoes_Numeros[i])
				{	
						Botoes_Numeros[i].setBackground(Color.red);
				}
		}	
		public int Metodo_Retorna_Numero_Aleatorio(int Ultima_Posicao2)
        {
              int i = 1 + (int) (Math.random() * (Ultima_Posicao2));
              return i;
        }
        
		public void Metodo_Carrega_Vetor_Aleatorio(int Num_Ordenados[], int Num_Aleatorios []  ) 
		{
				Random random = new Random(); //Objeto que  gera o número Randomico. 
				int Contador = 0;
				int Primeira_Posicao=0;
				int Ultima_Posicao=59;
   				int Posicao_Selecionada;
        		while (Contador < 60)
        		{
        				Posicao_Selecionada = Metodo_Retorna_Numero_Aleatorio(Ultima_Posicao); 
        				Numeros_Aleatorios[Contador]= Numeros_Ordenados[Posicao_Selecionada];
        				Numeros_Ordenados[Posicao_Selecionada]= Numeros_Ordenados[Primeira_Posicao];
        				Numeros_Ordenados[Primeira_Posicao]=Numeros_Ordenados[Ultima_Posicao];
        				//Numeros_Ordenados[Ultima_Posicao]=0;
        				Ultima_Posicao=Ultima_Posicao-1;
        				Contador++; 
        				        						
        		}		
    	}
    	public void Metodo_Imprime_Vetor(int Numeros[], int Qtde_Numeros_Aposta)
    	{
    			int Limitador = Numeros.length;
    			int Contador = 0; 
    			while(Contador < Limitador )
    			{
    			
						if((Contador%Qtde_Numeros_Aposta)==0)
        					{System.out.println("");}
						if(Numeros[Contador]<10)
        					{System.out.print("0"+Numeros[Contador]+"-");}
        				else
        					{System.out.print(Numeros[Contador]+"-");}	
        				Contador++;     			  				
    			}		
    	}
    	public void Metodo_Carrega_Vetor_Original(int Numeros[])
    	{
    			int Limitador = Numeros.length;
    			int Contador = 0;
    			while(Contador < Limitador)
    			{
    					Numeros[Contador] = Contador+1; 
    					Contador++;
    			}	
    		
    	}

}