Olá pessoal.
Essa é uma parte de um código que estou fazendo...
Alguém sabe me dizer como que faz pra: Quando clicar em CANCELAR ele voltar a fazer a mesma pergunta!!!?/
publicclassTesteValidacaoJOP{publicstaticvoidmain(String[]args){TesteValidacaoJOPv=newTesteValidacaoJOP();intqtd=v.validaCampo(JOptionPane.showInputDialog("Informe a sua idade:"));}privateintvalidaCampo(Stringvalor){intd=0;if(valor!=null){d=Integer.parseInt(valor);}else{intop=JOptionPane.showConfirmDialog(null,"Tem certeza que deseja sair?","Sair",JOptionPane.OK_CANCEL_OPTION);if(op==JOptionPane.OK_OPTION)System.exit(0);if(op==JOptionPane.CANCEL_OPTION)JOptionPane.showMessageDialog(null,"Por validar :D");}returnd;}
Não sei qual é a pergunta que você quer faze, mas segue um exemplo.
Aqui enquanto o número for menor que 0 é perguntado ao usuário se ele quer sair, se quiser
então o número digitado é exibido se não é feito novamente a pergunta para inserir um número,
lembrando que a pergunta de que se deseja ou não continuar somente é feita quando o número
digitado for menor que 0.
publicclassJOptionPaneTest{privatestaticintvalidNumber;publicstaticvoidmain(String[]args){booleanstatus=false;do{status=valid(JOptionPane.showInputDialog("Type a number: "));}while(!status);JOptionPane.showMessageDialog(null,"The number typed it was: "+getNumber());}publicstaticbooleanvalid(Stringnumber){validNumber=Integer.parseInt(number);if(validNumber>0)returntrue;intop=JOptionPane.showConfirmDialog(null,"You all right of that it wants to exit?","Exit",JOptionPane.OK_CANCEL_OPTION);if(op==JOptionPane.CANCEL_OPTION)returnfalse;if(op==JOptionPane.OK_OPTION)JOptionPane.showMessageDialog(null,"Thanks");returntrue;}publicstaticintgetNumber(){returnvalidNumber;}}
Espero poder ajudar.
braian
WendersonLP:
Não sei qual é a pergunta que você quer faze, mas segue um exemplo.
Aqui enquanto o número for menor que 0 é perguntado ao usuário se ele quer sair, se quiser
então o número digitado é exibido se não é feito novamente a pergunta para inserir um número,
lembrando que a pergunta de que se deseja ou não continuar somente é feita quando o número
digitado for menor que 0.
publicclassJOptionPaneTest{privatestaticintvalidNumber;publicstaticvoidmain(String[]args){booleanstatus=false;do{status=valid(JOptionPane.showInputDialog("Type a number: "));}while(!status);JOptionPane.showMessageDialog(null,"The number typed it was: "+getNumber());}publicstaticbooleanvalid(Stringnumber){validNumber=Integer.parseInt(number);if(validNumber>0)returntrue;intop=JOptionPane.showConfirmDialog(null,"You all right of that it wants to exit?","Exit",JOptionPane.OK_CANCEL_OPTION);if(op==JOptionPane.CANCEL_OPTION)returnfalse;if(op==JOptionPane.OK_OPTION)JOptionPane.showMessageDialog(null,"Thanks");returntrue;}publicstaticintgetNumber(){returnvalidNumber;}}
Espero poder ajudar.
Olá WendersonLP,
A questão está na primeira pergunta feita: "JOptionPane.showInputDialog("Type a number: “)”
Se clicar em cancelar vai dar uma exceção “NullPointerException”…
No lugar de dar essa exceção eu queria que apresentaçe um ShowConfirmDialog (Sair ou Não),
Se clicar em NAO, ele volta pra mesma pergunta.
Example.:
Digamos que são 2 ou mais perguntas:
1 - Digite a sua idade;
2 - Digite o seu telefone;
Run…
-Digitei a idade,
Quando chegar na pergunta 2, eu clico em cancelar…
Agora eu quero confirmação (showConfirmDialog. OK.CANCEL).
Se OK = SAI.
Se CANCEL = Retorne a mesma pergunta;
Entendeu né…
WendersonLP
Olha pode-se fazer assim.
publicstaticvoidmain(String[]args){Stringage=readAge();Stringphone=readPhone();JOptionPane.showMessageDialog(null,"Age:" + age + "\nPhone:" + phone);}public static String readAge() { String number1; while (true) { number1 = JOptionPane.showInputDialog("Howoldyouis?"); if (number1 == null) { // clicou em cancelar int option = JOptionPane.showConfirmDialog(null, "Youisallright?", "Exit", JOptionPane.YES_NO_OPTION); if (option == JOptionPane.YES_OPTION) break; } else break; } return number1;}public static String readPhone() { String number1; while (true) { number2 = JOptionPane.showInputDialog("Typethenumberofphone:"); if (number2 == null) { // clicou em cancelar int option = JOptionPane.showConfirmDialog(null, "Youisallright?", "Exit",JOptionPane.YES_NO_OPTION);if(option==JOptionPane.YES_OPTION)break;}elsebreak;}returnnumber2;}