[Resolvido]Gerar codigo automatico Java?

4 respostas
programaçãojava
Dfodani

Gostaria de saber como poderia fazer para na hora que eu for fazer um cadastro ir gerando codigos automaticos por exemplo eu cadastrei a primeira pessoa ela e codigo 1 , ai na hora que eu cadastro a segunda pessoa que seria codigo 2 ele colocar ja automatico porque no momento estou digitando o codigo em vez de ele colocar automatico como faço?

Código:

Cliente

package Modelo;
import java.util.Calendar;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import datechooser.beans.DateChooserCombo;
@Entity
public class Cliente {
@Id
	private int codcliente;
	@Temporal(TemporalType.DATE)
	private Calendar data;
	 
	private String NomeCompleto;
	private String endereco;    	
	private String Bairro;    	
	private String Cidade;    	
	private String uf;    	
	private String cep;    	
	private String telefone;    	
	private String complemento;    	
	private String email;
	
	private String rg;
	
	private String cpf;
	@Temporal(TemporalType.DATE)
	private Calendar datadenascimento;

	public String getBairro() {
		return Bairro;
	}

	public void setBairro(String bairro) {
		Bairro = bairro;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getCidade() {
		return Cidade;
	}

	public void setCidade(String cidade) {
		Cidade = cidade;
	}

	

	public int getCodcliente() {
		return codcliente;
	}

	public void setCodcliente(int codcliente) {
		this.codcliente = codcliente;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}



	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}

	public String getNomeCompleto() {
		return NomeCompleto;
	}

	public void setNomeCompleto(String nomeCompleto) {
		NomeCompleto = nomeCompleto;
	}

	public String getRg() {
		return rg;
	}

	public void setRg(String rg) {
		this.rg = rg;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getUf() {
		return uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	public Calendar getData() {
		return data;
	}

	public void setData(Calendar data) {
		this.data = data;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public Calendar getDatadenascimento() {
		return datadenascimento;
	}

	public void setDatadenascimento(Calendar datadenascimento) {
		this.datadenascimento = datadenascimento;
	}	

}

janela cliente

import java.awt.Container;
import java.awt.event.*;  
import java.text.ParseException;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
      
    import javax.persistence.EntityManager;  
    import javax.persistence.EntityManagerFactory;  
    import javax.persistence.Persistence;  
    import javax.swing.*;  
    import javax.swing.text.MaskFormatter;  

import org.eclipse.nebula.widgets.datechooser.DateChooser;

import datechooser.beans.DateChooserCombo;
      
    import net.sf.jasperreports.engine.JasperPrint;  
    import net.sf.jasperreports.view.JasperViewer;  
import Modelo.Cliente;  
      
    // Ctrl+Shift+F => Formata o código  
    // Ctrl+A e Ctrl+i => Formata a seleção  
      
    public class JanelaCliente extends JFrame {  
        private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,  
                rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,  
                rotulo14, rotulo15;  
        private JTextField caixa1, caixa3, caixa4, caixa5,caixa7,  
                caixa8, caixa9,caixa12, caixa13;
        private JButton botao1, botao2, botao3, botao4, botao5, botao6;  
        DateChooserCombo d = new DateChooserCombo();
        DateChooserCombo b = new DateChooserCombo();
        JFormattedTextField caixa2,caixa15,caixa6,caixa14,caixa11,caixa10;  
        private static EntityManagerFactory fabricaDeEntidades = null;  
      
        private static EntityManager gerenciador = null;  
        ImageIcon icone;  
        ImageIcon icone1;  
        ImageIcon icone2;  
        ImageIcon icone3;  
       ImageIcon icone4;  
        ImageIcon icone5;  


        public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,  
                EntityManager gerenciador2) throws Exception {  
              
            super("Cadastro de Clientes");  
            Container tela = getContentPane();  
            icone = new ImageIcon("001.gif");  
            icone1 = new ImageIcon("005.gif");  
            icone2 = new ImageIcon("126.gif");  
            icone3 = new ImageIcon("041.gif");  
       //  icone4 = new ImageIcon("100.gif");  
            icone5 = new ImageIcon("004.gif");  
            botao1 = new JButton (icone);  
            botao2 = new JButton (icone1);  
            botao3 = new JButton (icone2);  
            botao4 = new JButton (icone3);  
        //  botao5 = new JButton (icone4);  
            botao6 = new JButton (icone5);  
      
            tela.setLayout(null);  
            fabricaDeEntidades = fabricaDeEntidades2;  
            gerenciador = gerenciador2;  
      
            rotulo1 = new JLabel("Codigo:");  
            rotulo2 = new JLabel("Data:");  
            rotulo3 = new JLabel("Nome:");  
            rotulo5 = new JLabel("Endereço:");  
            rotulo6 = new JLabel("Cpf:");  
            rotulo7 = new JLabel("Bairro:");  
            rotulo8 = new JLabel("Cidade:");  
            rotulo9 = new JLabel("Uf:");  
            rotulo10 = new JLabel("Cep:");  
            rotulo11 = new JLabel("Telefone:");  
            rotulo12 = new JLabel("Complemento:");  
            rotulo13 = new JLabel("Email:");  
            rotulo14 = new JLabel("Rg:");  
            rotulo15 = new JLabel("Dta de Nascimento:");  
      
         //MaskFormatter formater = new MaskFormatter();   
         // formater.setMask("##/##/####");  
              
        //MaskFormatter formater2 = new MaskFormatter();   
          //formater2.setMask("##/##/####"); 
            
            
            MaskFormatter formater3 = new MaskFormatter();
            formater3.setMask("###.###.###-##");
            formater3.setValidCharacters("[telefone removido]"); 
            
            MaskFormatter formater4 = new MaskFormatter();
            formater4.setMask("##.###.###-#");
            formater4.setValidCharacters("[telefone removido]"); 
            
            MaskFormatter formater5 = new MaskFormatter();
            formater5.setMask("(##)####-####");
            formater5.setValidCharacters("[telefone removido]");
            
            MaskFormatter formater6 = new MaskFormatter();
            formater6.setMask("#####-###");
            formater6.setValidCharacters("[telefone removido]");
            
            caixa6 = new javax.swing.JFormattedTextField(caixa6);  
            caixa14 = new javax.swing.JFormattedTextField(caixa14); 
              
            caixa1 = new JTextField();
           d = new DateChooserCombo();  
          //formater.install(d);  
            caixa3 = new JTextField();  
            caixa5 = new JTextField();  
            caixa6 = new JFormattedTextField(); 
            formater3.install(caixa6); 
            caixa7 = new JTextField();  
            caixa8 = new JTextField();  
            caixa9 = new JTextField();  
            caixa10 = new JFormattedTextField(); 
            formater6.install(caixa10);   
            caixa11 = new JFormattedTextField(); 
            formater5.install(caixa11);  
            caixa12 = new JTextField();  
            caixa13 = new JTextField();  
            caixa14 = new JFormattedTextField(); 
            formater4.install(caixa14);
            b = new DateChooserCombo();   
            //formater2.install(caixa15);  
      
            //botao1 = new JButton("Incluir");  
            //botao2 = new JButton("Alterar");  
            //botao3 = new JButton("Excluir");  
            //botao4 = new JButton("Listar Clientes");  
            //botao5 = new JButton("Gerar Relatório");  
            //botao6 = new JButton("Fechar");  
      
            // coluna, linha, largura, altura  
            rotulo1.setBounds(21, 11, 43, 20);  
            caixa1.setBounds(110, 11, 50, 20);  
      
            botao1.setBounds(20, 279, 100, 20);  
            botao2.setBounds(130, 279, 100, 20);  
            botao3.setBounds(240, 279, 100, 20);  
            botao4.setBounds(350, 279, 150, 20);  
          // botao5.setBounds(510, 279, 150, 20);  
            botao6.setBounds(510, 279, 150, 20);  
      
            rotulo2.setBounds(170, 11, 100, 20);  
            d.setBounds(220, 11, 90, 20);  
      
            rotulo3.setBounds(21, 42, 100, 20);  
            caixa3.setBounds(110, 42, 550, 20);  
      
      
            rotulo5.setBounds(21, 73, 100, 20);  
            caixa5.setBounds(110, 73, 300, 20);  
      
            rotulo6.setBounds(21, 104, 100, 20);  
            caixa6.setBounds(110, 104, 150, 20);  
      
            rotulo7.setBounds(270, 104, 100, 20);  
            caixa7.setBounds(330, 104, 330, 20);  
      
            rotulo8.setBounds(21, 135, 100, 20);  
            caixa8.setBounds(110, 135, 236, 20);  
      
            rotulo9.setBounds(358, 135, 32, 20);  
            caixa9.setBounds(400, 135, 50, 20);  
      
            rotulo10.setBounds(466, 135, 43, 20);  
            caixa10.setBounds(519, 135, 141, 20);  
      
            rotulo11.setBounds(21, 166, 100, 20);  
            caixa11.setBounds(110, 166, 141, 20);  
      
            rotulo12.setBounds(261, 166, 100, 20);  
            caixa12.setBounds(352, 166, 308, 20);  
      
            rotulo13.setBounds(21, 197, 100, 20);  
            caixa13.setBounds(110, 197, 280, 20);  
      
            rotulo14.setBounds(415, 197, 100, 20);  
            caixa14.setBounds(460, 197, 120, 20);  
      
            rotulo15.setBounds(415, 73, 120, 20);  
            b.setBounds(530, 73, 90, 20);  
      
            tela.add(rotulo1);  
            tela.add(caixa1);  
      
            tela.add(rotulo2);  
            tela.add(d);  
      
            tela.add(botao1);  
            tela.add(botao2);  
            tela.add(botao3);  
            tela.add(botao4);  
         // tela.add(botao5);  
            tela.add(botao6);  
      
            tela.add(rotulo3);  
            tela.add(caixa3);  
      
            tela.add(rotulo5);  
            tela.add(caixa5);  
      
            tela.add(rotulo6);  
            tela.add(caixa6);  
      
            tela.add(rotulo7);  
            tela.add(caixa7);  
      
            tela.add(rotulo8);  
            tela.add(caixa8);  
      
            tela.add(rotulo9);  
            tela.add(caixa9);  
      
            tela.add(rotulo10);  
            tela.add(caixa10);  
      
            tela.add(rotulo11);  
            tela.add(caixa11);  
      
            tela.add(rotulo12);  
            tela.add(caixa12);  
      
            tela.add(rotulo13);  
            tela.add(caixa13);  
      
            tela.add(rotulo14);  
            tela.add(caixa14);  
      
            tela.add(rotulo15);  
            tela.add(b);  
              
            caixa6.addFocusListener(new FocusAdapter() {   
                String A,B,C,D,E,F,G,H,I,J,K = "";   
                int a,b,c,d,x,f,g,h,i,j,k,s1,s2;   
                   
                public void focusLost(FocusEvent e) {   
                    A = caixa6.getText().substring(0,1);   
                    B = caixa6.getText().substring(1,2);   
                    C = caixa6.getText().substring(2,3);   
                    D = caixa6.getText().substring(4,5);   
                    E = caixa6.getText().substring(5,6);   
                    F = caixa6.getText().substring(6,7);   
                    G = caixa6.getText().substring(8,9);   
                    H = caixa6.getText().substring(9,10);   
                    I = caixa6.getText().substring(10,11);    
                    J = caixa6.getText().substring(12,13);    
                    K = caixa6.getText().substring(13);    
                       
                    a = Integer.parseInt(A);   
                    b = Integer.parseInt(B);   
                    c = Integer.parseInt(C);   
                    d = Integer.parseInt(D);   
                    x = Integer.parseInt(E);   
                    f = Integer.parseInt(F);   
                    g = Integer.parseInt(G);   
                    h = Integer.parseInt(H);   
                    i = Integer.parseInt(I);                                            
                                             
                    s1 = ((10*a)+(9*b)+(8*c)+(7*d)+(6*x)+(5*f)+(4*g)+(3*h)+(2*i))%11;   
                       
                    if((s1==0) || (s1==1)) {   
                      j = 0;     
                    }    
                    else {   
                        j = (11-s1);   
                    }   
                       
                    /*  
                     * OBTENDO O DÍGITO k  
                     *  
                     * O resultado da soma, S2 = 11a+10b+9c+8d+7x+6f+5g+4h+3i+2j, é dividido por 11 e o RESTO   
                     * dessa divisão:  
                     *  
                     * RESTO                                 k  
                     * Se for 0 ou 1                         O dígito k é [0] (zero)  
                     * Se for 2, 3, 4, 5, 6, 7, 8, 9 ou 10     O dígito k é [11 - RESTO]  
                     *  
                     */  
                       
                    s2 = ((11*a)+(10*b)+(9*c)+(8*d)+(7*x)+(6*f)+(5*g)+(4*h)+(3*i)+(2*j))%11;   
                       
                    if((s2==0) || (s2==1)) {   
                      k = 0;     
                    }    
                    else {   
                        k = (11-s2);   
                    }   
                       
                    // compara os resultados j com o J e k com o K e verifica se todos os dígitos não são iguais   
                    if((j != (Integer.parseInt(J))) || (k != (Integer.parseInt(K))) || ((a==b)&(b==c)&(c==d)&(d==x)&(x==f)&(f==g)&(g==h)&(h==i))) {   
                        JOptionPane.showMessageDialog(null,"CPF inválido", "Informação ", JOptionPane.INFORMATION_MESSAGE);   
                        caixa6.setText("");   
                        caixa6.requestFocus();   
                    }   
                }   
            });  

             
            caixa1.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                }  
      
                // Ao perder o foco do caixa1 é executado este método  
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
      
                    if (!caixa1.getText().trim().equals("")) {  
                        // Se o campo conter um valor diferente de vazio  
      
                        Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));  
      
                        if (objetoCliente != null) {  
                            d.setText(objetoCliente.getData().toString());  
                            caixa3.setText("" + objetoCliente.getNomeCompleto());  
                            caixa5.setText("" + objetoCliente.getEndereco());  
                            caixa6.setText("" + objetoCliente.getCpf());  
                            caixa7.setText("" + objetoCliente.getBairro());  
                            caixa8.setText("" + objetoCliente.getCidade());  
                            caixa9.setText("" + objetoCliente.getUf());  
                            caixa10.setText("" + objetoCliente.getCep());  
                            caixa11.setText("" + objetoCliente.getTelefone());  
                            caixa12.setText("" + objetoCliente.getComplemento());  
                            caixa13.setText("" + objetoCliente.getEmail());  
                            caixa14.setText("" + objetoCliente.getRg());  
                            b.setText(""  
                                    + objetoCliente.getDatadenascimento());  
                            botao1.setEnabled(false);  
                            JOptionPane.showMessageDialog(null,  
                                    "Cliente já cadastrado com este código!!!");  
      
                        } else {  
                            botao1.setEnabled(true);  
                            d.setText("");  
                            caixa3.setText("");  
                            caixa5.setText("");  
                            caixa6.setText("");  
                            caixa7.setText("");  
                            caixa8.setText("");  
                            caixa9.setText("");  
                            caixa10.setText("");  
                            caixa11.setText("");  
                            caixa12.setText("");  
                            caixa13.setText("");  
                            caixa14.setText("");  
                            b.setText("");  
                            JOptionPane.showMessageDialog(null,  
                                    "Código livre para cadastro!");  
                        }  
                    }  
                }  
      
            });  
         d.addFocusListener(new FocusListener() {  
      
          public void focusGained(FocusEvent e) {  
            d.setText("");  
            }  
     
           public void focusLost(FocusEvent e) {  
            // TODO Auto-generated method stub  
            }  
          });  
            b.addFocusListener(new FocusListener() {  
      
                public void focusGained(FocusEvent e) {  
                    b.setText("");  
                }  
      
                public void focusLost(FocusEvent e) {  
                    // TODO Auto-generated method stub  
                }  
            });  
      
            botao1.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e1) {  
                    // Persistir dados  
                    // inclusão de um novo registro  
                    if (caixa1.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o código do cliente!");  
                        caixa1.requestFocus();  
                    }//else if (d.getText().trim().equals("")) {  
                      // JOptionPane.showMessageDialog(null, "Informe a Data!");  
                      // d.requestFocus();  
                 //  }
                    else if (caixa3.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Nome Completo do Cliente!");  
                        caixa3.requestFocus();  
      
                    } else if (caixa5.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Endereço do Cliente!");  
                        caixa5.requestFocus();  
      
                    } else if (caixa6.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Cpf do Cliente!");  
                        caixa6.requestFocus();  
      
                    } else if (caixa7.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Bairro do Cliente!");  
                        caixa7.requestFocus();  
      
                    } else if (caixa8.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe a Cidade do Cliente!");  
                        caixa8.requestFocus();  
      
                    } else if (caixa9.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe a Uf do Cliente!");  
                        caixa9.requestFocus();  
      
                    } else if (caixa10.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Cep do Cliente!");  
                        caixa10.requestFocus();  
      
                    } else if (caixa11.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Telefone do Cliente!");  
                        caixa11.requestFocus();  
      
                    } else if (caixa12.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Complemento!");  
                        caixa12.requestFocus();  
      
                    } else if (caixa13.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Email do Cliente!");  
                        caixa13.requestFocus();  
      
                    } else if (caixa14.getText().trim().equals("")) {  
                        JOptionPane.showMessageDialog(null,  
                                "Informe o Rg do Cliente!");  
                        caixa14.requestFocus();  
      
                    }// else if (b.getText().trim().equals("")) {  
                        //JOptionPane.showMessageDialog(null,  
                        //        "Informe a Data de Nascimento do Cliente!");  
                       // b.requestFocus();  
      
                   // }
                    else {  

                        Cliente objetoCliente = new Cliente();  
                        objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));  
                        objetoCliente.setData(d.getSelectedDate());  
                        objetoCliente.setNomeCompleto(caixa3.getText());  
                        objetoCliente.setEndereco(caixa5.getText());  
                        objetoCliente.setCpf(caixa6.getText()); 
                        objetoCliente.setBairro(caixa7.getText());  
                        objetoCliente.setCidade(caixa8.getText());  
                        objetoCliente.setUf(caixa9.getText());  
                        objetoCliente.setCep(caixa10.getText());  
                        objetoCliente.setTelefone(caixa11.getText());  
                        objetoCliente.setComplemento(caixa12.getText());  
                        objetoCliente.setEmail(caixa13.getText());  
                        objetoCliente.setRg(caixa14.getText()); 
                        objetoCliente.setDatadenascimento(b.getSelectedDate());  
      
                        gerenciador.getTransaction().begin();  
                        gerenciador.persist(objetoCliente);  
                        gerenciador.getTransaction().commit();  
                        JOptionPane.showMessageDialog(null,  
                                "Cliente Incluído com Sucesso!");  
                        caixa1.setText(null);d.setText(null);
                        caixa3.setText(null);caixa5.setText(null);  
                        caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                        caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
                    } 
                }  
            });  
      
            botao2.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // fecha a janela  
                    Cliente c = new Cliente();  
                    c.setCodcliente(Integer.parseInt(caixa1.getText()));  
                    c.setData(d.getSelectedDate());  
                    c.setNomeCompleto(caixa3.getText());  
                    c.setEndereco(caixa5.getText());  
                    c.setCpf(caixa6.getText()); 
                    c.setBairro(caixa7.getText());  
                    c.setCidade(caixa8.getText());  
                    c.setUf(caixa9.getText());  
                    c.setCep(caixa10.getText());  
                    c.setTelefone(caixa11.getText());  
                    c.setComplemento(caixa12.getText());  
                    c.setEmail(caixa13.getText());  
                    c.setRg(caixa14.getText());  
                    c.setDatadenascimento(b.getSelectedDate());  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.merge(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Alterado Com Sucesso");  
                    caixa1.setText(null);d.setText(null);
                    caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
                }  
            });  
      
            botao3.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));  
      
                    gerenciador.getTransaction().begin();  
                    gerenciador.remove(c);  
                    gerenciador.getTransaction().commit();  
      
                    JOptionPane.showMessageDialog(null,  
                            "Registro Excluido Com Sucesso");  
      
                    caixa1.setText(null);d.setText(null);
                    caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
                }  
            });  
      
            botao4.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
      
                    @SuppressWarnings("unused")  
                    //ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);  
                    ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);  
                }  
            });  
          //botao5.addActionListener(new ActionListener() {  
           // public void actionPerformed(ActionEvent e) {  
                //    // cria nova janela  
            //    RelatorioCliente rep = new RelatorioCliente();  
            //     JasperPrint relat;  
              //   try {  
            //        relat = rep.gerarRelatorioCliente();  
                //    JasperViewer.viewReport(relat, false);  
                 //  } catch (Exception e1) {  
                 //    e1.printStackTrace();  
                 //   }  
              // } // /
          // });  
      
            botao6.addActionListener(new ActionListener() {  
                public void actionPerformed(ActionEvent e) {  
                    // cria nova janela  
                    dispose();  
                }  
            });  
            // setSize(largura, altura);  
            setSize(700, 397);  
            setVisible(true);  
            setLocationRelativeTo(null);  
        }  
      
        public static void main(String[] args) throws Exception {  
      
        fabricaDeEntidades = Persistence  
                .createEntityManagerFactory("TurmaN40PostgreSQL");  
    gerenciador = fabricaDeEntidades.createEntityManager();  
      
            JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);  
            app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
      
        }  
    }

não tenho a minima ideia de como faço? alguém me ajuda?

4 Respostas

andersonandradeti

@Id
@generatedvalue
private int codcliente
http://www.objectdb.com/java/jpa/entity/generated
Anota seu id assim é lê está explicação

Jonathan_Medeiros

Você pode fazer da seguinte maneira:

// Define a sequence
@SequenceGenerator(name="seqCliente", initialValue=1, allocationSize=100)
// Usa a sequence pré definida para geração automática dos Ids. 
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seqCliente")
@Id
private int codcliente;
Dfodani

ola ja implementei no codigo o genereted value mas ai eu apago pra nao informar o codigo
ai da erro

segue meu codigo abaixo da janela cliente

import java.awt.Container;

import java.awt.event.*;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;
import javax.persistence.EntityManager;  
import javax.persistence.EntityManagerFactory;  
import javax.persistence.Persistence;  
import javax.swing.*;  
import javax.swing.text.MaskFormatter;

import org.eclipse.nebula.widgets.datechooser.DateChooser;

import datechooser.beans.DateChooserCombo;

import net.sf.jasperreports.engine.JasperPrint;  
import net.sf.jasperreports.view.JasperViewer;

import Modelo.Cliente;

// Ctrl+Shift+F => Formata o código  
// Ctrl+A e Ctrl+i => Formata a seleção  
  
public class JanelaCliente extends JFrame {  
    private JLabel rotulo1, rotulo2, rotulo3, rotulo4, rotulo5, rotulo6,  
            rotulo7, rotulo8, rotulo9, rotulo10, rotulo11, rotulo12, rotulo13,  
            rotulo14, rotulo15;  
    private JTextField caixa1, caixa3, caixa4, caixa5,caixa7,  
            caixa8, caixa9,caixa12, caixa13;
    private JButton botao1, botao2, botao3, botao4, botao5, botao6;  
    DateChooserCombo d = new DateChooserCombo();
    DateChooserCombo b = new DateChooserCombo();
    JFormattedTextField caixa2,caixa15,caixa6,caixa14,caixa11,caixa10;  
    private static EntityManagerFactory fabricaDeEntidades = null;  
  
    private static EntityManager gerenciador = null;  
    ImageIcon icone;  
    ImageIcon icone1;  
    ImageIcon icone2;  
    ImageIcon icone3;  
   ImageIcon icone4;  
    ImageIcon icone5;  


    public JanelaCliente(EntityManagerFactory fabricaDeEntidades2,  
            EntityManager gerenciador2) throws Exception {  
          
        super("Cadastro de Clientes");  
        Container tela = getContentPane();  
        icone = new ImageIcon("001.gif");  
        icone1 = new ImageIcon("005.gif");  
        icone2 = new ImageIcon("126.gif");  
        icone3 = new ImageIcon("041.gif");  
   //  icone4 = new ImageIcon("100.gif");  
        icone5 = new ImageIcon("004.gif");  
        botao1 = new JButton (icone);  
        botao2 = new JButton (icone1);  
        botao3 = new JButton (icone2);  
        botao4 = new JButton (icone3);  
    //  botao5 = new JButton (icone4);  
        botao6 = new JButton (icone5);  
  
        tela.setLayout(null);  
        fabricaDeEntidades = fabricaDeEntidades2;  
        gerenciador = gerenciador2;  
  
        rotulo1 = new JLabel("Codigo:");  
        rotulo2 = new JLabel("Data:");  
        rotulo3 = new JLabel("Nome:");  
        rotulo5 = new JLabel("Endereço:");  
        rotulo6 = new JLabel("Cpf:");  
        rotulo7 = new JLabel("Bairro:");  
        rotulo8 = new JLabel("Cidade:");  
        rotulo9 = new JLabel("Uf:");  
        rotulo10 = new JLabel("Cep:");  
        rotulo11 = new JLabel("Telefone:");  
        rotulo12 = new JLabel("Complemento:");  
        rotulo13 = new JLabel("Email:");  
        rotulo14 = new JLabel("Rg:");  
        rotulo15 = new JLabel("Dta de Nascimento:");  
  
     //MaskFormatter formater = new MaskFormatter();   
     // formater.setMask("##/##/####");  
          
    //MaskFormatter formater2 = new MaskFormatter();   
      //formater2.setMask("##/##/####"); 
        
        
        MaskFormatter formater3 = new MaskFormatter();
        formater3.setMask("###.###.###-##");
        formater3.setValidCharacters("[telefone removido]"); 
        
        MaskFormatter formater4 = new MaskFormatter();
        formater4.setMask("##.###.###-#");
        formater4.setValidCharacters("[telefone removido]"); 
        
        MaskFormatter formater5 = new MaskFormatter();
        formater5.setMask("(##)####-####");
        formater5.setValidCharacters("[telefone removido]");
        
        MaskFormatter formater6 = new MaskFormatter();
        formater6.setMask("#####-###");
        formater6.setValidCharacters("[telefone removido]");
        
        caixa6 = new javax.swing.JFormattedTextField(caixa6);  
        caixa14 = new javax.swing.JFormattedTextField(caixa14); 
          
        caixa1 = new JTextField();
       d = new DateChooserCombo();  
      //formater.install(d);  
        caixa3 = new JTextField();  
        caixa5 = new JTextField();  
        caixa6 = new JFormattedTextField(); 
        formater3.install(caixa6); 
        caixa7 = new JTextField();  
        caixa8 = new JTextField();  
        caixa9 = new JTextField();  
        caixa10 = new JFormattedTextField(); 
        formater6.install(caixa10);   
        caixa11 = new JFormattedTextField(); 
        formater5.install(caixa11);  
        caixa12 = new JTextField();  
        caixa13 = new JTextField();  
        caixa14 = new JFormattedTextField(); 
        formater4.install(caixa14);
        b = new DateChooserCombo();   
        //formater2.install(caixa15);  
  
        //botao1 = new JButton("Incluir");  
        //botao2 = new JButton("Alterar");  
        //botao3 = new JButton("Excluir");  
        //botao4 = new JButton("Listar Clientes");  
        //botao5 = new JButton("Gerar Relatório");  
        //botao6 = new JButton("Fechar");  
  
        // coluna, linha, largura, altura  
        rotulo1.setBounds(21, 11, 43, 20);  
        caixa1.setBounds(110, 11, 50, 20);  
  
        botao1.setBounds(20, 279, 100, 20);  
        botao2.setBounds(130, 279, 100, 20);  
        botao3.setBounds(240, 279, 100, 20);  
        botao4.setBounds(350, 279, 150, 20);  
      // botao5.setBounds(510, 279, 150, 20);  
        botao6.setBounds(510, 279, 150, 20);  
  
        rotulo2.setBounds(170, 11, 100, 20);  
        d.setBounds(220, 11, 90, 20);  
  
        rotulo3.setBounds(21, 42, 100, 20);  
        caixa3.setBounds(110, 42, 550, 20);  
  
  
        rotulo5.setBounds(21, 73, 100, 20);  
        caixa5.setBounds(110, 73, 300, 20);  
  
        rotulo6.setBounds(21, 104, 100, 20);  
        caixa6.setBounds(110, 104, 150, 20);  
  
        rotulo7.setBounds(270, 104, 100, 20);  
        caixa7.setBounds(330, 104, 330, 20);  
  
        rotulo8.setBounds(21, 135, 100, 20);  
        caixa8.setBounds(110, 135, 236, 20);  
  
        rotulo9.setBounds(358, 135, 32, 20);  
        caixa9.setBounds(400, 135, 50, 20);  
  
        rotulo10.setBounds(466, 135, 43, 20);  
        caixa10.setBounds(519, 135, 141, 20);  
  
        rotulo11.setBounds(21, 166, 100, 20);  
        caixa11.setBounds(110, 166, 141, 20);  
  
        rotulo12.setBounds(261, 166, 100, 20);  
        caixa12.setBounds(352, 166, 308, 20);  
  
        rotulo13.setBounds(21, 197, 100, 20);  
        caixa13.setBounds(110, 197, 280, 20);  
  
        rotulo14.setBounds(415, 197, 100, 20);  
        caixa14.setBounds(460, 197, 120, 20);  
  
        rotulo15.setBounds(415, 73, 120, 20);  
        b.setBounds(530, 73, 90, 20);  
  
        tela.add(rotulo1);  
        tela.add(caixa1);  
  
        tela.add(rotulo2);  
        tela.add(d);  
  
        tela.add(botao1);  
        tela.add(botao2);  
        tela.add(botao3);  
        tela.add(botao4);  
     // tela.add(botao5);  
        tela.add(botao6);  
  
        tela.add(rotulo3);  
        tela.add(caixa3);  
  
        tela.add(rotulo5);  
        tela.add(caixa5);  
  
        tela.add(rotulo6);  
        tela.add(caixa6);  
  
        tela.add(rotulo7);  
        tela.add(caixa7);  
  
        tela.add(rotulo8);  
        tela.add(caixa8);  
  
        tela.add(rotulo9);  
        tela.add(caixa9);  
  
        tela.add(rotulo10);  
        tela.add(caixa10);  
  
        tela.add(rotulo11);  
        tela.add(caixa11);  
  
        tela.add(rotulo12);  
        tela.add(caixa12);  
  
        tela.add(rotulo13);  
        tela.add(caixa13);  
  
        tela.add(rotulo14);  
        tela.add(caixa14);  
  
        tela.add(rotulo15);  
        tela.add(b);  
          
        caixa6.addFocusListener(new FocusAdapter() {   
            String A,B,C,D,E,F,G,H,I,J,K = "";   
            int a,b,c,d,x,f,g,h,i,j,k,s1,s2;   
               
            public void focusLost(FocusEvent e) {   
                A = caixa6.getText().substring(0,1);   
                B = caixa6.getText().substring(1,2);   
                C = caixa6.getText().substring(2,3);   
                D = caixa6.getText().substring(4,5);   
                E = caixa6.getText().substring(5,6);   
                F = caixa6.getText().substring(6,7);   
                G = caixa6.getText().substring(8,9);   
                H = caixa6.getText().substring(9,10);   
                I = caixa6.getText().substring(10,11);    
                J = caixa6.getText().substring(12,13);    
                K = caixa6.getText().substring(13);    
                   
                a = Integer.parseInt(A);   
                b = Integer.parseInt(B);   
                c = Integer.parseInt(C);   
                d = Integer.parseInt(D);   
                x = Integer.parseInt(E);   
                f = Integer.parseInt(F);   
                g = Integer.parseInt(G);   
                h = Integer.parseInt(H);   
                i = Integer.parseInt(I);                  
                   
                /*  
                 * OBTENDO O DÍGITO J  
                 *  
                 * O resultado da soma, s1 = 10a+9b+8c+7d+6x+5f+4g+3h+2i, é dividido por 11 e o RESTO   
                 * dessa divisão:  
                 *  
                 * RESTO                                 j  
                 * Se for 0 ou 1                         O dígito j é [0] (zero)  
                 * Se for 2, 3, 4, 5, 6, 7, 8, 9 ou 10     O dígito j é [11 - RESTO]  
                 *  
                 */  
                   
                s1 = ((10*a)+(9*b)+(8*c)+(7*d)+(6*x)+(5*f)+(4*g)+(3*h)+(2*i))%11;   
                   
                if((s1==0) || (s1==1)) {   
                  j = 0;     
                }    
                else {   
                    j = (11-s1);   
                }   
                   
                /*  
                 * OBTENDO O DÍGITO k  
                 *  
                 * O resultado da soma, S2 = 11a+10b+9c+8d+7x+6f+5g+4h+3i+2j, é dividido por 11 e o RESTO   
                 * dessa divisão:  
                 *  
                 * RESTO                                 k  
                 * Se for 0 ou 1                         O dígito k é [0] (zero)  
                 * Se for 2, 3, 4, 5, 6, 7, 8, 9 ou 10     O dígito k é [11 - RESTO]  
                 *  
                 */  
                   
                s2 = ((11*a)+(10*b)+(9*c)+(8*d)+(7*x)+(6*f)+(5*g)+(4*h)+(3*i)+(2*j))%11;   
                   
                if((s2==0) || (s2==1)) {   
                  k = 0;     
                }    
                else {   
                    k = (11-s2);   
                }   
                   
                // compara os resultados j com o J e k com o K e verifica se todos os dígitos não são iguais   
                if((j != (Integer.parseInt(J))) || (k != (Integer.parseInt(K))) || ((a==b)&(b==c)&(c==d)&(d==x)&(x==f)&(f==g)&(g==h)&(h==i))) {   
                    JOptionPane.showMessageDialog(null,"CPF inválido", "Informação ", JOptionPane.INFORMATION_MESSAGE);   
                    caixa6.setText("");   
                    caixa6.requestFocus();   
                }   
            }   
        });  

         
        caixa1.addFocusListener(new FocusListener() {  
  
            public void focusGained(FocusEvent e) {  
                // TODO Auto-generated method stub  
  
            }  
  
            // Ao perder o foco do caixa1 é executado este método  
            public void focusLost(FocusEvent e) {  
                // TODO Auto-generated method stub  
  
                if (!caixa1.getText().trim().equals("")) {  
                    // Se o campo conter um valor diferente de vazio  
  
                    Cliente objetoCliente = gerenciador.find(Cliente.class,Integer.parseInt(caixa1.getText()));  
  
                    if (objetoCliente != null) {  
                        d.setText(objetoCliente.getData().toString());  
                        caixa3.setText("" + objetoCliente.getNomeCompleto());  
                        caixa5.setText("" + objetoCliente.getEndereco());  
                        caixa6.setText("" + objetoCliente.getCpf());  
                        caixa7.setText("" + objetoCliente.getBairro());  
                        caixa8.setText("" + objetoCliente.getCidade());  
                        caixa9.setText("" + objetoCliente.getUf());  
                        caixa10.setText("" + objetoCliente.getCep());  
                        caixa11.setText("" + objetoCliente.getTelefone());  
                        caixa12.setText("" + objetoCliente.getComplemento());  
                        caixa13.setText("" + objetoCliente.getEmail());  
                        caixa14.setText("" + objetoCliente.getRg());  
                        b.setText(""  
                                + objetoCliente.getDatadenascimento());  
                        botao1.setEnabled(false);  
                        JOptionPane.showMessageDialog(null,  
                                "Cliente já cadastrado com este código!!!");  
  
                    } else {  
                        botao1.setEnabled(true);  
                        d.setText("");  
                        caixa3.setText("");  
                        caixa5.setText("");  
                        caixa6.setText("");  
                        caixa7.setText("");  
                        caixa8.setText("");  
                        caixa9.setText("");  
                        caixa10.setText("");  
                        caixa11.setText("");  
                        caixa12.setText("");  
                        caixa13.setText("");  
                        caixa14.setText("");  
                        b.setText("");  
                        JOptionPane.showMessageDialog(null,  
                                "Código livre para cadastro!");  
                    }  
                }  
            }  
  
        });  
     d.addFocusListener(new FocusListener() {  
  
      public void focusGained(FocusEvent e) {  
        d.setText("");  
        }  
 
       public void focusLost(FocusEvent e) {  
        // TODO Auto-generated method stub  
        }  
      });  
        b.addFocusListener(new FocusListener() {  
  
            public void focusGained(FocusEvent e) {  
                b.setText("");  
            }  
  
            public void focusLost(FocusEvent e) {  
                // TODO Auto-generated method stub  
            }  
        });  
  
        botao1.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e1) {  
                // Persistir dados  
                // inclusão de um novo registro  
                if (caixa1.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o código do cliente!");  
                    caixa1.requestFocus();  
                }//else if (d.getText().trim().equals("")) {  
                  // JOptionPane.showMessageDialog(null, "Informe a Data!");  
                  // d.requestFocus();  
             //  }
                else if (caixa3.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Nome Completo do Cliente!");  
                    caixa3.requestFocus();  
  
                } else if (caixa5.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Endereço do Cliente!");  
                    caixa5.requestFocus();  
  
                } else if (caixa6.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Cpf do Cliente!");  
                    caixa6.requestFocus();  
  
                } else if (caixa7.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Bairro do Cliente!");  
                    caixa7.requestFocus();  
  
                } else if (caixa8.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe a Cidade do Cliente!");  
                    caixa8.requestFocus();  
  
                } else if (caixa9.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe a Uf do Cliente!");  
                    caixa9.requestFocus();  
  
                } else if (caixa10.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Cep do Cliente!");  
                    caixa10.requestFocus();  
  
                } else if (caixa11.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Telefone do Cliente!");  
                    caixa11.requestFocus();  
  
                } else if (caixa12.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Complemento!");  
                    caixa12.requestFocus();  
  
                } else if (caixa13.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Email do Cliente!");  
                    caixa13.requestFocus();  
  
                } else if (caixa14.getText().trim().equals("")) {  
                    JOptionPane.showMessageDialog(null,  
                            "Informe o Rg do Cliente!");  
                    caixa14.requestFocus();  
  
                }// else if (b.getText().trim().equals("")) {  
                    //JOptionPane.showMessageDialog(null,  
                    //        "Informe a Data de Nascimento do Cliente!");  
                   // b.requestFocus();  
  
               // }
                else {  

                    Cliente objetoCliente = new Cliente();  
                    objetoCliente.setCodcliente(Integer.parseInt(caixa1.getText()));  
                    objetoCliente.setData(d.getSelectedDate());  
                    objetoCliente.setNomeCompleto(caixa3.getText());  
                    objetoCliente.setEndereco(caixa5.getText());  
                    objetoCliente.setCpf(caixa6.getText()); 
                    objetoCliente.setBairro(caixa7.getText());  
                    objetoCliente.setCidade(caixa8.getText());  
                    objetoCliente.setUf(caixa9.getText());  
                    objetoCliente.setCep(caixa10.getText());  
                    objetoCliente.setTelefone(caixa11.getText());  
                    objetoCliente.setComplemento(caixa12.getText());  
                    objetoCliente.setEmail(caixa13.getText());  
                    objetoCliente.setRg(caixa14.getText()); 
                    objetoCliente.setDatadenascimento(b.getSelectedDate());  
  
                    gerenciador.getTransaction().begin();  
                    gerenciador.persist(objetoCliente);  
                    gerenciador.getTransaction().commit();  
                    JOptionPane.showMessageDialog(null,  
                            "Cliente Incluído com Sucesso!");  
                    caixa1.setText(null);d.setText(null);
                    caixa3.setText(null);caixa5.setText(null);  
                    caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                    caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
                } 
            }  
        });  
  
        botao2.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // fecha a janela  
                Cliente c = new Cliente();  
                c.setCodcliente(Integer.parseInt(caixa1.getText()));  
                c.setData(d.getSelectedDate());  
                c.setNomeCompleto(caixa3.getText());  
                c.setEndereco(caixa5.getText());  
                c.setCpf(caixa6.getText()); 
                c.setBairro(caixa7.getText());  
                c.setCidade(caixa8.getText());  
                c.setUf(caixa9.getText());  
                c.setCep(caixa10.getText());  
                c.setTelefone(caixa11.getText());  
                c.setComplemento(caixa12.getText());  
                c.setEmail(caixa13.getText());  
                c.setRg(caixa14.getText());  
                c.setDatadenascimento(b.getSelectedDate());  
  
                gerenciador.getTransaction().begin();  
                gerenciador.merge(c);  
                gerenciador.getTransaction().commit();  
  
                JOptionPane.showMessageDialog(null,  
                        "Registro Alterado Com Sucesso");  
                caixa1.setText(null);d.setText(null);
                caixa3.setText(null);caixa5.setText(null);  
                caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
            }  
        });  
  
        botao3.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
                Cliente c = gerenciador.find(Cliente.class, Integer.parseInt(caixa1.getText()));  
  
                gerenciador.getTransaction().begin();  
                gerenciador.remove(c);  
                gerenciador.getTransaction().commit();  
  
                JOptionPane.showMessageDialog(null,  
                        "Registro Excluido Com Sucesso");  
  
                caixa1.setText(null);d.setText(null);
                caixa3.setText(null);caixa5.setText(null);  
                caixa6.setText(null); caixa7.setText(null);caixa8.setText(null);caixa9.setText(null);caixa10.setText(null);  
                caixa11.setText(null);caixa12.setText(null);caixa13.setText(null);caixa14.setText(null);b.setText(null);  
            }  
        });  
  
        botao4.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
  
                @SuppressWarnings("unused")  
                //ListarCliente l = new ListarCliente(fabricaDeEntidades,gerenciador);  
                ListarCliente list = new ListarCliente(fabricaDeEntidades, gerenciador);  
            }  
        });  
      //botao5.addActionListener(new ActionListener() {  
       // public void actionPerformed(ActionEvent e) {  
            //    // cria nova janela  
        //    RelatorioCliente rep = new RelatorioCliente();  
        //     JasperPrint relat;  
          //   try {  
        //        relat = rep.gerarRelatorioCliente();  
            //    JasperViewer.viewReport(relat, false);  
             //  } catch (Exception e1) {  
             //    e1.printStackTrace();  
             //   }  
          // } // /
      // });  
  
        botao6.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {  
                // cria nova janela  
                dispose();  
            }  
        });  
        // setSize(largura, altura);  
        setSize(700, 397);  
        setVisible(true);  
        setLocationRelativeTo(null);  
    }  
  
    public static void main(String[] args) throws Exception {  
  
    fabricaDeEntidades = Persistence  
            .createEntityManagerFactory("TurmaN40PostgreSQL");  
gerenciador = fabricaDeEntidades.createEntityManager();  
  
        JanelaCliente app = new JanelaCliente(fabricaDeEntidades, gerenciador);  
        app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  
    }  
}
Dfodani

consegui rsrs graças a Deus rsrs obrigada viu

Criado 8 de maio de 2017
Ultima resposta 9 de mai. de 2017
Respostas 4
Participantes 3