privatevoidconfirmaActionPerformed(java.awt.event.ActionEventevt){
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.
privateCandidatocandidato;// para acessá-lo use a palavra reservada this.this.candidato=newCandidato();this.candidato.setNome(cand.getNome);// passe desta forma para o método addVotoVotacao.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.
jacoboliveira
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
R
renensk
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?
R
renensk
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.
jacoboliveira
Entendi, e o erro static ainda continua, se for possivel mostra o codigo completo da classe que contem esses metodos
R
renensk
public class TelaVotacaoPrefeito extends javax.swing.JFrame {
Falta colocar o método addVoto da classe Votação como static
R
renensk
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?
jacoboliveira
Na verdade VC tem que colocar sua Lista como static tambem