import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;

import java.util.Scanner;

public class FrameLotoMania extends JFrame implements ActionListener
{
       int[] Numeros_Originais       = new int[100];
       int[] Numeros_Aleatorios      = new int[100];
       int Ultima_Posicao = 99;
	   JButton bt_Proximo, bt_Limpar, bt_Sair;  	
	   JPanel Painel_Norte, Painel_Leste, Painel_Oeste, Painel_Centro, Painel_Botoes;
	   int i = 0;

       public FrameLotoMania()
       {
            getContentPane().setLayout(new BorderLayout());         		   	
            Metodo_Carrega_Vetor_Original();
            Metodo_Carrega_Vetor_Aleatorio();
             
            	
            getContentPane().add("Center", Painel_Centro = new JPanel(new GridLayout(10, 10)));  	 
            ///MOSTRA A PRIMEIRA APOSTA
            Metodo_Mostra_Nova_Aposta();
            ////
            getContentPane().add("South", Painel_Botoes = new JPanel()); 	
            Painel_Botoes.add(bt_Proximo  = new JButton("PRÓXIMO"));
            Painel_Botoes.add(bt_Limpar   = new JButton("LIMPAR"));
            Painel_Botoes.add(bt_Sair     = new JButton("SAIR DO SISTEMA"));
              
            pack();
            setResizable(false); 
            setVisible(true);
            bt_Limpar.addActionListener(this);
            bt_Proximo.addActionListener(this);
            bt_Sair.addActionListener(this);	
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            	
            	
              
       }
  	   public void Metodo_Mostra_Nova_Aposta()
  	   {
  	   		System.out.println("passei aqui"); 
  	   		Metodo_Carrega_Vetor_Original();
            Metodo_Carrega_Vetor_Aleatorio();
    		
    		while(i < 50)
    		{
    				if(Numeros_Aleatorios[i]<10)
    				{
    						Painel_Centro.add(new JLabel(" -  0"+Numeros_Aleatorios[i]));
    				}
    				else if(Numeros_Aleatorios[i]==100)
    				{
    						Painel_Centro.add(new JLabel(" - "+Numeros_Aleatorios[i]));
    				}
    				else
    				{
    						Painel_Centro.add(new JLabel(" -  "+Numeros_Aleatorios[i]));
    				}
					i = i +1; 
    		}
    		repaint();
    		 i = 0; 	
  			System.out.println("terminei o método"); 
  
  	   }	
       public void actionPerformed(ActionEvent e)	
       {
 
 
       		if(e.getSource()==bt_Sair)
       		{
       				System.exit(0); 
       		}      	
       		if(e.getSource()==bt_Limpar)
       		{
       				Painel_Centro.removeAll();
       				i = 0; 
       				repaint();
       		}
       		if(e.getSource()==bt_Proximo)
       		{
       				Metodo_Mostra_Nova_Aposta();
       		}	
       		
       }
       //Método para gerar um número aleatorio
       public int Retorna_Numero_Aleatorio()
       {
              int i = 1 + (int) (Math.random() * (Ultima_Posicao));
              return i;
       }
       //Carrega o vetor original --> Será usado somente uma vez por execução
       public void Metodo_Carrega_Vetor_Aleatorio()
       {
       	 
       		  
       	      int contador = 0;		
              int Posicao_Selecionada = Retorna_Numero_Aleatorio ();
              while(contador<50)
              {
              		Numeros_Aleatorios[contador]=Numeros_Originais[Posicao_Selecionada] ;
					/*if(Numeros_Aleatorios[contador]==100)
							{System.out.print("-00");}
              		else if(Numeros_Aleatorios[contador]<10)
              				{System.out.print("-0"+Numeros_Aleatorios[contador]);}	              			
              		else
              				{System.out.print("-"+Numeros_Aleatorios[contador]);}
              		*/	
              		Numeros_Originais[Posicao_Selecionada]=Numeros_Originais[Ultima_Posicao];
              		Numeros_Originais[Ultima_Posicao]=0;
              		Ultima_Posicao = Ultima_Posicao -1; 
              		Posicao_Selecionada = Retorna_Numero_Aleatorio ();
              		contador = contador + 1; 
              		if((contador%10)==0)
              				{System.out.println("");}	
              	
              }	                           
       }
       public void Metodo_Carrega_Vetor_Original()
       {
              int i = 0;
              int Contador = 1;
              while(i < 100)
              {
              			Numeros_Originais [i]= Contador;
						i = i + 1;
                      	Contador ++;
              }
       }
       public static void main (String args [])
       {
              new FrameLotoMania();
       }
}