Boa tarde Galera.
Pessoal, sou iniciante, estou criando o famoso jogo Show do Milhão, para praticar.
Não sei se esse é o melhor jeito de criar esse jogo, mas estou trabalhando com cards e JPanel onde cada Jpanel vai conter uma pergunta.
O problema que tive foi ao tentar criar um método que deve voltar para tela inicial (JPanel) quando o jogador errar a resposta.
Coloquei um evento de clique na própria Label, com o JOptinPane pergunto se tem certeza (Sim, Não), sendo a resposta errada, volta para tela inicial.
quando coloco o código diretamente no evento de clique funciona, mas quando faço o método com o mesmo código e coloco para executar o método, ele exibe as mensagens do JOptionPane mas não volta para a tela inicial.
Código que usei no evento clique da Label e que funcionou como esperado:
int Confirm = JOptionPane.showConfirmDialog(null,“Confirma a Resposta?”,“sim ou nao”, JOptionPane.YES_NO_OPTION);
if (Confirm == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null, “Errou ! como você é burro cara!”);
CardLayout cl = (CardLayout) jPanel1.getLayout();
cl.show(jPanel1,“tela2”);
} else if (Confirm == JOptionPane.NO_OPTION){
}
Código que usei no método que não funcionou, a diferença é que tive que instanciar a tela principal para não dá erro no Jpanel1:
public void Errado (){
telaInicial TI = new telaInicial();
int Confirm = JOptionPane.showConfirmDialog(null,"Confirma a Resposta?","sim ou nao", JOptionPane.YES_NO_OPTION);
if (Confirm == JOptionPane.YES_OPTION) {
JOptionPane.showMessageDialog(null, "Errou ! como você é burro cara!");
CardLayout cl = (CardLayout) TI.jPanel1.getLayout();
cl.show(TI.jPanel1,"tela2");
} else if (Confirm == JOptionPane.NO_OPTION){
}
O problema é que usando o método ele não volta para a tela inicial a diferença é que tive que instanciar a TelaPrincipal porque usei o JPanel que está lá. Fora isso o código é o mesmo que funciona quando está fora do método…
Se alguém conseguir me ajudar fico grato.
Obrigado !