Olá pessoal!!!
Estou finalizando meu TCC de informática e estou com uma pequena dúvida em relação ao JOptionPane.InputDialog, onde a caixa de dialogo exibida para inserção do nome do jogador, mostra os botoes ok e cancelar, porem ao ir no botao cancelar, ele ñ cancela a ação de inserir nome e fechar a janela, pelo contrário, ele segue no jogo.
Ai esta o código:
new playerIII();
aux = JOptionPane.showInputDialog(null, "Aluno(a), digite seu nome para jogar!", "Nome do aluno(a):", JOptionPane.INFORMATION_MESSAGE);
pontos.nome = aux;
pontos.nivel="Fácil";
this.dispose();
new NewJFrame().setVisible(true);
Ja tentei por a opção d propriedade do JOptionPane, que seria JOptionPane.OK_CANCEL_OPTION
mas além de ser do tipo int, e o nome q insiro ter q ser String, o próprio JOptionPane recusa ela, pois ja tenho o JOptionPane.INFORMATION_MESSAGE
Grata qm puder me ajudar!!! bjosss
O que você quer fazer quando cancelar?
Sempre que alguém cancelar, aquela variável aux irá valer null. Se você, por exemplo, quiser sair do jogo, o código ficaria assim:
aux = JOptionPane.showInputDialog(null, "Aluno(a), digite seu nome para jogar!", "Nome do aluno(a):", JOptionPane.INFORMATION_MESSAGE);
if (aux == null) {
System.exit(0);
}
[quote=ViniGodoy]O que você quer fazer quando cancelar?
Sempre que alguém cancelar, aquela variável aux irá valer null. Se você, por exemplo, quiser sair do jogo, o código ficaria assim:
aux = JOptionPane.showInputDialog(null, "Aluno(a), digite seu nome para jogar!", "Nome do aluno(a):", JOptionPane.INFORMATION_MESSAGE);
if (aux == null) {
System.exit(0);
}
[/quote]
na verdade ñ seria exatamente sair, mas sim apenas fechar a janela de dialogo do JOptionPane
Nesse caso, troque o System.exit(0) por
dispose();
return;
[quote=ViniGodoy]Nesse caso, troque o System.exit(0) por
dispose();
return;
[/quote]
Desculpa dizer, mas continua com o mesmo erro, fecha o menu principal junto…
Então deixa só o return.
Pelo que vi, vc gostaria que o código que vem em seguida desse if não fosse executado. Não é necessário fechar a janela, mas sim, só impedir que a nova janela abra.
É exatamente isso!!! e deu certo agora só com o return… ;D
e eproveitando o assunto, vc sabe se tem como formatar caixas de diálogo JOptionPane?
precisava mudar a formatação dlas para Comic Sans…
Vixi… não tem nenhum jeito trivial de se fazer isso.
Nossa, que pena…
Queria dar uma impressão ao meu TCC de formatação pradrão, entende?
Se não fica muita mistura… mas mto Obrigada!!
Tente colocar essas instruções no construtor de sua janela. Só é necessário dar os comandos uma única vez:
[code]//Tradução dos botões
UIManager.put(“OptionPane.cancelButtonText”, “Cancelar”);
UIManager.put(“OptionPane.noButtonText”, “Não”);
UIManager.put(“OptionPane.yesButtonText”, “Sim”);
//Alteração da fonte
UIManager.put(“OptionPane.font”, "javax.swing.plaf.FontUIResource[family=dialog,name=Comig Sans,style=plain,size=12] ");[/code]
Você pode ver mais valores desses aqui:
http://www.guj.com.br/posts/list/23249.java#195562
[quote=ViniGodoy]Tente colocar essas instruções no construtor de sua janela. Só é necessário dar os comandos uma única vez:
[code]//Tradução dos botões
UIManager.put(“OptionPane.cancelButtonText”, “Cancelar”);
UIManager.put(“OptionPane.noButtonText”, “Não”);
UIManager.put(“OptionPane.yesButtonText”, “Sim”);
//Alteração da fonte
UIManager.put(“OptionPane.font”, "javax.swing.plaf.FontUIResource[family=dialog,name=Comig Sans,style=plain,size=12] ");[/code]
Você pode ver mais valores desses aqui:
http://www.guj.com.br/posts/list/23249.java#195562[/quote]
Obrigada rapaz, mas consegui solucionar o problema!!! uma outra moça no fórum me auxiliou…
mas aproveitando sua passada por aqui, vi aquela lista no outro endereço que vc me passou, e queria tirar só mais uma dúvida:
se eu tenho um label, e passo o mouse sobre ele, como faço para ele ‘ganhar’ um sublinhado debaixo dele? (Como se fosse um link)