private void confirmaActionPerformed(java.awt.event.ActionEvent evt) {
Votacao.addVoto("Aqui preciso pegar o objeto candidato do método de cima");
}
Seria possível eu pegar o objeto candidato e passá-lo para o método de baixo?
Votacao.addVoto() é um metodo addVoto da classe Votacao que pega o objeto e o adiciona a uma lista, no caso pegaria o candidato setado no método de cima.
Sim. Reparei que você declarou o objeto Candidato dentro do método, coloque ele como um
atributo privado dentro da classe. Com isto qualquer método da classe poderá acessá-lo.
private Candidato candidato;
// para acessá-lo use a palavra reservada this.
this.candidato = new Candidato();
this.candidato.setNome(cand.getNome);
// passe desta forma para o método addVoto
Votacao.addVoto(this.candidato);
OBS: antes de passar o objeto candidato como parâmetro para o método addVoto, você terá
que verificar se ele existe. Trate o problema com um bloco Try Catch.
Roben cara acredito que houve vários equívocos primeiro a sua. Resposta nao tem correlacao com a indagacao do renensk primeiro ele disse “seria possivel eu pegar o objeto candidato e passa-lo para o metodo abaixo?” percebeu o erro? Outra pra vetificar se um objeto existe é so fazer uma condicao if obj !=null, isso tambem eh desnessario pois ele pode fazer a condicao que falei no metodo inicial
Resposta certa:
`
Outro detalhe ha uma redundância de objeto candidato, percebe-se que ja existe um objeto candidato o objeto “cand” entao vc passa ele e elimina a instacia candidato de dentro do if
Obrigado pela resposta, funcionou perfeitamente.
Tive outro problema, a linha “Votacao.addVoto(this.candidato);” está dando erro com a mensagem “non-static method addVoto(Candidato) cannot be referenced from a static context”.
Como resolvo?
Do jeito que você falou funciona também. Em relação a redundância do objeto candidato, eu usei dois objetos diferentes porque um objeto eu vou usar pra buscar em uma lista e listar somente alguns atributos, já o outro eu pego o que foi escolhido e pego todos os atributos, logo não poderia usar os dois como se fossem a mesma coisa.
Coloquei e então o “votacao.add(candidato);” dentro do método addVoto que apresenta “non-static variable votacao cannot be referenced from a static context”, acho que devo declara a List como private, certo?